ich hab eine Frage zu JTables.
Ich will Daten aus einer SQL Datenbank auslesen (X Zeilen, 4 Spalten) und diese dann in eine JList schreiben.
Das ganze sieht dann bisher wie folgt aus, ich lasse mal den Verbidungsaufbau usw. weg.
Java:
String[] items ={"Name","Vorname"};JList list =newJList(items);String sql ="Select Name, Vorname FROM user";ResultSet rs = stmt.executeQuery(sql);while(rs.next()){System.out.println(rs.getString(1));
list.add(rs.getString(1));// funktioniert nicht}
Beim Syso kommt auch das was ich erwarte, nur ist dann der nächte list.add Befehl nicht korrekt. Leider kann ich mit den Eclipse Lösungsvorschlägen auch nichts anfangen. Das mag damit zusammenhängen, dass ich bisher noch nie mit JList gearbeitet habe und mir mein Wissen darüber nur im Internet angelesen habe.
Ich würde mich sehr darüber freuen, wenn mir jemand bei dem Problem weiterhelfen kann.
PS: Oder ist es in diesem Fall schlauer mit JTable zu arbeiten? Im Endeffekt soll in der Tabelle eine Zeile ausgewählt werden, mit einem Knopf bestätigt werden und jenachdem welche Zeile ausgewählt wurde weiterverfahren werden. Ich kenn mich mit Tabellen leider nicht wirklich aus.
das hat jetzt soweit geklappt, er schreibt die werte jetzt in die Liste rein. Nur ist der Platz den die Liste hat kleiner als die Liste eigentich ist. Wie kann man einrichten, dass man in der Liste scrollen kann?
Und wie kann man einrichten, dass er die Werte in verschiedene Spalten schreibt?
Er soll den rs.getString(1) in Spalte 1 und den rs.getString(2) in eine weitere Spalte schreiben. Bisher schreibt er alles in einer Spalte hintereinander weg. Hat da jemand ne Idee?
privateJScrollPane scroller =newJScrollPane();privateDefaultListModel<String> model =newDefaultListModel();privateJList<String> liste =newJList( model );
scroller.setViewPortView( liste );// Hier erhält die ScrollPane die Liste
scroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
frame.add( scroller );// <- Muss die Scrollpane sein!
Da eine JList keine Spalten hat, könnte das 'in Spalten schreiben' schwer werden.
Entweder du baust dir eine eigene GUI Komponente, die sowas darstellen kann, oder du wirst doch zum JTable wechseln müssen.
okay wieder herzlichen Dank!
Da die Spalten von elementarer Bedeutung sind, würde ich es dann bevorzugen in ein Table zu schreiben. Ich gehe mal davon aus dass die while schleife bleiben kann, aber wie fügt man das dann dem Table zu?