Hallo zusammen,
ich möchte von meinem ListSelectionListener erfahren in welcher Zeile sich der Fokus aktuell befindet. Laut der Javadokumentation kann man dies über die Funktionen "getFirstIndex", "getLastIndex" ermitteln. Allerdings verhalten die sich meiner Meinung nach komisch?!
Wenn ich den Fokus über meine Tabelle mittels der Pfeiltasten nach unten bewege steht der aktuelle Index in "last", wenn ich mich nach oben bewege in "first". Und ganz wild wird es, wenn ich mit der Maus durch die Gegend klicke. Was also ist denn eine systematische und richtige Vorgehensweise um herauszufinden, wo sich mein Fokus im Moment befindet?!
Hier noch mein Code dazu:
Vielen Dank schon einmal!!
ich möchte von meinem ListSelectionListener erfahren in welcher Zeile sich der Fokus aktuell befindet. Laut der Javadokumentation kann man dies über die Funktionen "getFirstIndex", "getLastIndex" ermitteln. Allerdings verhalten die sich meiner Meinung nach komisch?!
Wenn ich den Fokus über meine Tabelle mittels der Pfeiltasten nach unten bewege steht der aktuelle Index in "last", wenn ich mich nach oben bewege in "first". Und ganz wild wird es, wenn ich mit der Maus durch die Gegend klicke. Was also ist denn eine systematische und richtige Vorgehensweise um herauszufinden, wo sich mein Fokus im Moment befindet?!
Hier noch mein Code dazu:
Code:
public class SelectionListener implements ListSelectionListener {
JTable table;
SelectionListener(JTable table) {
this.table = table;
}
public void valueChanged(ListSelectionEvent e) {
// If cell selection is enabled, both row and column change events are fired
if (e.getSource() == table.getSelectionModel() && table.getRowSelectionAllowed()) { // Column selection changed
System.out.println("Column selection changed");
// update selectedAttribute, update detailsPanel
int first = e.getFirstIndex();
System.out.println("first: " + first);
int last = e.getLastIndex();
System.out.println("last: " + last);
}
}
}
Vielen Dank schon einmal!!