JTable selection-change-event-handling: hier finden Sie die Quelltabelle dynamisch
Habe ich umgesetzt, meine eigene event-handler und fügte hinzu, es zu dem selection-Modell von der Tabelle:
table.getSelectionModel().addListSelectionListener(event);
Und implementiert die Methode "event" (oben erwähnt):
public void valueChanged(ListSelectionEvent e) {
log.debug("value changed");
}
Leider das event feuert zweimal, wenn ich die chance die Auswahl und es scheint nicht möglich zu finden, die zugehörige Tabelle, weil e.getSource liefert javax.swing.DefaultListSelectionModel.
Daher meine Fragen sind:
1) Warum braucht es Feuer zweimal, obwohl die eventListener nur einmal gemeldet?
2) Wie finde ich die Tabelle, für die die Auswahl gilt? Die DefaultListSelectionModel scheint nicht zu bieten jede getSource() oder so ähnlich.
Vielen Dank!
InformationsquelleAutor MrG | 2008-12-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) ich glaube, Sie finden es feuert einmal für de-Auswahl der alten Auswahl und einmal für die Auswahl der neuen Auswahl. Wenn Sie sich die details der Veranstaltung, die Sie sehen sollten, was da genau Los ist. Ich kann mich nicht erinnern, die details, also vielleicht ist das falsch. So oder so sollten Sie in der Lage sein zu rufen getValueIsAdjusting() auf das Ereignis und verwenden Sie nur die Letzte in der Kette (dh wenn es false zurück).
2) Sie sollten in der Regel nicht nötig, aber AFAIK der einzige Weg, dies zu tun ist, um erstellen Sie Ihre Zuhörer, die speziell für die Tabelle (dh Tabelle übergeben Sie dem Konstruktor und daran erinnern).
InformationsquelleAutor Draemon
Dank Draemon..Es Funktioniert....
Unser Code
Dank Von
TF-Team
InformationsquelleAutor Think Force
Seit mehr als einem JTable (oder andere Komponente, die ich vermute) kann dieselbe Auswahl-Modell, es macht keinen Sinn zu Fragen, die für die zugeordnete JTable von der Veranstaltung. Dies ist der gleiche Grund, die Sie nicht abrufen können eine JTable aus einem TableModel. Als Draemon schon sagt, speichern die Referenz auf die JTable in (oder an) der listener-Klasse.
InformationsquelleAutor Dave Ray