JTable, wie fire event auswählen einer Zeile oder Doppelklick auf eine Zeile
Ich bin mit einem javax.swing.JTable anzeigen Zeilen in einer Datenbank-Tabelle.
Ich brauche, um das Feuer zwei verschiedene event für zwei verschiedene Fälle:
- wenn ausgewählt ist, die mindestens eine Zeile (oder klicken Sie auf mindestens eine Zeile ausgeführt wird).
- wenn ein Doppelklick auf eine Zeile ausgeführt wird.
Ich sah schon eine Antwort auf stack overflow, aber ich habe nichts gefunden, befriedigend .
Irgendeine Idee?
- 1 - Verwenden Sie die Tabellen
ListSelectionModel
durch das anbringen einerListSelectionListener
; es werden 2 - Verwenden Sie eineMouseListener
auf dieJTable
und monitor für eine Doppel-klicken Sie, vermutlich mit der linken Maustaste. Möglicherweise möchten Sie auch zu beschreiben, welche Lösungen Sie angeschaut haben und warum Sie nicht passen, so dass wir don ' T decken den gleichen Boden und verschwenden jeweils anderen Zeit
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie überwachen änderungen in die Zeile Auswahl mit der
JTable
sListSelectionModel
über eineListSelectionListener
. Dieses benachrichtigt Sie, wenn die Auswahl geändert wird, durch den Benutzer unter Verwendung der Maus oder der Tastatur, oder wenn Sie die Auswahl programmgesteuert geändert wird, für einige GrundSehen How to Write a List Selection Listener für mehr details
Nur so kann man erkennen, dies ist durch eine Verwendung einer
MouseListener
. Normalerweise erwarten die Nutzer, dass eine linke Maustaste klicken Sie auf eine Aktion und die Rechte Maustaste, um etwas anderes zu tun.Möchten Sie
SwingUtilities.isLeftMouseButton
oderSwingUtilities.isRightMouseButton
zu bestimmen, was die Nutzer tatsächlich tun.Sehen Wie Schreibt man einen Mouse-Listener für mehr details
Können Sie ein Maus-listener auf die Tabelle und capture-Ereignis mit Maus-Ereignis-wie unter
Erfassung von selection können Sie
if
Aussagen. Was ist, wenn ich ändern Sie Ihre Auswahl mit der Tastatur?KeyListener
ist nicht die Antwort -, Auswahl-änderungen können auftreten, aus anderen Gründen, dann Schlüssel AktionenListSelectionListener
ist die beste Wahl für die überwachung von änderungen an der Tabelle die Zeile Auswahl, wird es berücksichtigt änderungen, die durch die Maus, die Tastatur und das Programm selbst...