Kurz: Ich brauche ein „Rechtsklick Ereignis“, um die Zellenreihe zu markieren.Java Swing JTable; Rechtsklick-Menü (wie bekomme ich es zu „wählen“ aka markieren Sie die Zeile)
ich in einem ScrollPane in Java Swing (Netbeans Matisse) eine JTable verwenden. Ich habe einen mouseClicked Ereignis-Listener auf dem JTable, die die folgenden:
if (evt.getButton() == java.awt.event.MouseEvent.BUTTON3) {
System.out.println("Right Click");
JPopUpMenu.show(myJTable, evt.getX(), evt.getY())
}
Das Problem ist ... wenn ich einen Rechtsklick auf der JTable ausführen, wird die Zeile nicht markiert (I um die Auswahl zu Reihen gesetzt nur übrigens). Ich habe nach mehreren setSelected() - Funktionen gesucht, konnte aber keine passende finden. Standardmäßig markiert die linke Maustaste automatisch die Zeile. Wie richte ich es für richtige Klicks ein?
Einfach so:] ... die obere Hälfte von mouseReleased() ist, was ich brauchte. Wird als Antwort gewählt und akzeptiert. Danke, du bist der Mann (oder die Frau)! –
Große Antwort. Ein Detail: auf einigen Plattformen (Mac OS X, um es zu nennen), ist das Popup-Menü Auslöser von 'mousePressed' anstatt' mouseReleased' also, wenn Sie diesen Code verwenden das Popup wird nicht angezeigt, wenn Sie Ihre Anwendung auf Mac OS laufen X. – gabuzo
Was ist der Zweck, den rowIndex zweimal zu erhalten? Ich meine, was ist der Unterschied zwischen * r * und * rowindex *? –