lousypoetry
03-11-2005, 10:30
Hallo!
Ich brauch mal eure Hilfe: ich hab ein Panel mit einer JList und einem Button. Auf Button-Druck geht nun ein Dialog-Fenster auf, in dem der User in ein Textfeld einen Eintrag schreiben kann. Dem Dialog übergebe ich einen Vector mit allen Listen-Einträgen, schließt er sich wieder, wird in den Vector der Inhalt des Textfeldes geschrieben. Jetzt soll meine Liste aktualisiert werden (hinten angefügt werden, ist eigentlich erstmal egal).
Meine Frage: wie stelle ich die "Verbindung" zwischen dem Dialog und meiner Liste her?
folgendes hab ich probiert:
// meine Liste:
listModel = new DefaultListModel();
list = new JList(listModel);
list.setSelectionMode(ListSelectionModel.SINGLE_SE LECTION); // nur Einzelauswahl
list.setSelectedIndex(0);
list.addListSelectionListener(this);
listScrollPane = new JScrollPane(list);
list.setVisibleRowCount(5); // 5 Eintraege sind sichtbar ohne scrollen
/**
* Ausschnitt aus Meinem ActionListener für den Button
*/
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("neu")) {
NewProjectDialog p = new NewProjectDialog(projects);
p.init();
p.setVisible(true);
updateList(); // letzter Eintrag wird in die Liste geschrieben
}
Das funktioniert allerdings nicht, ich denke mal, da "updateList()" sofort ausgeführt wird und nicht erst, nach dem sich der Dialog geschlossen hat.
Könnt ihr mir da helfen? Danke! :)
Ich brauch mal eure Hilfe: ich hab ein Panel mit einer JList und einem Button. Auf Button-Druck geht nun ein Dialog-Fenster auf, in dem der User in ein Textfeld einen Eintrag schreiben kann. Dem Dialog übergebe ich einen Vector mit allen Listen-Einträgen, schließt er sich wieder, wird in den Vector der Inhalt des Textfeldes geschrieben. Jetzt soll meine Liste aktualisiert werden (hinten angefügt werden, ist eigentlich erstmal egal).
Meine Frage: wie stelle ich die "Verbindung" zwischen dem Dialog und meiner Liste her?
folgendes hab ich probiert:
// meine Liste:
listModel = new DefaultListModel();
list = new JList(listModel);
list.setSelectionMode(ListSelectionModel.SINGLE_SE LECTION); // nur Einzelauswahl
list.setSelectedIndex(0);
list.addListSelectionListener(this);
listScrollPane = new JScrollPane(list);
list.setVisibleRowCount(5); // 5 Eintraege sind sichtbar ohne scrollen
/**
* Ausschnitt aus Meinem ActionListener für den Button
*/
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("neu")) {
NewProjectDialog p = new NewProjectDialog(projects);
p.init();
p.setVisible(true);
updateList(); // letzter Eintrag wird in die Liste geschrieben
}
Das funktioniert allerdings nicht, ich denke mal, da "updateList()" sofort ausgeführt wird und nicht erst, nach dem sich der Dialog geschlossen hat.
Könnt ihr mir da helfen? Danke! :)