benurb
Mitglied
Hi,
Ich bin gerade dabei ein Programm mit einer JList als Auflistung zu erstellen. Über ein Eingabefenster werden dabei Einträge in eine Liste hinzugefügt und daraufhin die JList mit dieser Funktion aktualisiert:
jlstWant ist dabei die JList
und lstWant ist die Liste aus der die Daten kommen (enthält eine selbst erstellte Klasse Movie).
Nun meine erste Frage: Kann man die JList auch einfacher aktualisieren?
Zweite Frage: Der ListSelectionListener wird bei diesem Code leider mehrfach ausgeführt. Was mache ich falsch?
Mein List Selection Listener sieht folgendermaßen aus:
Ausgabe:
0
0
0
0
1
1
1
1
usw.
Danke im Voraus
Benni
Ich bin gerade dabei ein Programm mit einer JList als Auflistung zu erstellen. Über ein Eingabefenster werden dabei Einträge in eine Liste hinzugefügt und daraufhin die JList mit dieser Funktion aktualisiert:
Code:
DefaultListModel dlmMovie = new DefaultListModel();
for(int i = 0; i < lstWant.size(); i++) {
dlmMovie.addElement(lstWant.get(i).getMovieName());
}
jlstWant.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jlstWant.setModel(dlmMovie);
jlstWant.setBounds(5, lblWant.getLocation().y + lblWant.getHeight() + 2, (frame.getWidth() / 2) - 10, btnWant.getLocation().y - (lblWant.getLocation().y + lblWant.getHeight() + 5));
ListSelectionModel listSelectionModel;
listSelectionModel = jlstWant.getSelectionModel();
listSelectionModel.addListSelectionListener(new SharedListSelectionHandler());
p.add(jlstWant);
jlstWant ist dabei die JList
und lstWant ist die Liste aus der die Daten kommen (enthält eine selbst erstellte Klasse Movie).
Nun meine erste Frage: Kann man die JList auch einfacher aktualisieren?
Zweite Frage: Der ListSelectionListener wird bei diesem Code leider mehrfach ausgeführt. Was mache ich falsch?
Mein List Selection Listener sieht folgendermaßen aus:
Code:
class SharedListSelectionHandler implements ListSelectionListener {
publicvoid valueChanged(ListSelectionEvent e) {
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
System.out.println(lsm.getMinSelectionIndex());
}
Ausgabe:
0
0
0
0
1
1
1
1
usw.
Danke im Voraus
Benni
Zuletzt bearbeitet: