JTable - Rechtsklick soll Zelle markieren

psykochris

Mitglied
Hi@all,
es geht um folgendes:
Wenn man in einer JTable einen Rechtsklick macht, öffnet sich ein Dialog (MouseListener; eigener Dialog, kein PopupMenu!!).

In diesem werden alle "Makros" aus der Datenbank angezeigt.
Klickt man auf eines der Makros, wird es in die JTable eingefügt.

Das Problem dabei ist, dass sie nur dann richtig eingefügt werden können, wenn eine bzw. die richtige Zelle markiert ist.

Es muss also die Zelle in der der Rechtsklickt erfolgt markiert werden bevor der Dialog kommt.

Aber wie kann ich eine Zelle per Rechtsklick markieren?

Danke.

psykochris
 
Zuletzt bearbeitet:
Hi !

Wenn du die rechte Maustaste drückst, wird ja ein Mousevent ausgelöst. Über dieses Event bekommst du die Bildschirmkoordinate, an der geklickt wurde.

Java:
Point point = e.getPoint();

Damit hast du den Punkt. Nun brauchst du die Zeile oder Spalte, in der dieser Punkt liegt.

Java:
JTable table = new JTable();
.....

int row = table.rowAtPoint(point);
int column = table.columnAtPoint(point);

Das müsste eigentlich das sein, was du suchst !

Gruss,

Krösi
 
Zurück