ActionListener in JLabel- oder JTable-Zelle
Ich habe eine JTable mit JLabel[][]
als Daten. Jetzt möchte ich erkennen doppelklicken Sie entweder auf das JLabel oder eine Zelle der Tabelle (aber nur in einer der Spalten). Wie kann ich eine Aktion/MouseListener auf JLabel bzw. table-cell?
InformationsquelleAutor der Frage stefita | 2009-09-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie etwa:
InformationsquelleAutor der Antwort Vinay Sajip
Im Grunde der gleiche Vorschlag als eine bereits akzeptierte Ausnahme:
a) Sie behandeln soll, mousePressed, nicht mouseClicked. Ein mouseClicked-Ereignis wird nur ausgelöst, wenn ein mousePressed und mouseReleased-Ereignis generiert wird, an der gleichen Pixelposition. Sie bewegt der Benutzer die Maus auch 1 pixel bei Doppelklick werden Sie nicht bekommen, die erwartete Doppel-klicken.
b) Auch möchten Sie vielleicht zu prüfen, mit der columnAtPoint() und rowAtPoint() Methoden, um die angeklickte Zelle. Obwohl es wahrscheinlich keinen Unterschied machen, in diesem Fall, es ist egal, wenn Sie jemals versuchen, einen MouseListener für die richtigen Maus-Klicks, da die Auswahl nicht geändert. Also, wenn Sie bekommen in der Gewohnheit, mit dieser Methode werden Sie nicht haben Probleme in der Zukunft.
InformationsquelleAutor der Antwort camickr