Hallo miteinander,
ich stehe zur Zeit vor einem Problem bei der Entwicklung einer Oberfläche, die eine ganze Reihe von Informationen in ein paar JTables darstellen soll. Wenn man dabei auf eine der Tabellen klickt, soll immer ein kleines Ereignis ausgeführt werden. Dabei ist es völlig egal, in welche Zelle, Zeile oder Spalte der Benutzer klickt, wichtig ist nur, DASS die entsprechende Tabelle angeklickt wurde.
Meine Aktuelle Lösung sieh folgendermaßen aus:
tblAll.getColumnModel().getSelectionModel().addListSelectionListener( new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
System.out.println("Angeklickt!");
}
});
Das ganze funktioniert allerdings nur sehr eingeschränkt. Beim Programmstart geht es noch wunderbar: Klicke ich eine beliebige Tabelle an wird auch der Text ausgegeben. Klicke ich eine 2. Tabelle an passiert es ebenfalls...
Aber: Wenn die 2. Tabelle angeklickt wurde und ich wieder in die 1. klicke wird das Event nur dann ausgelöst, wenn ich nicht in die selbe Spalte klicke wie beim ersten Klick.
Ist es möglich, dass ganze so abzuändern, dass der Listener wirklich "nur" darauf achtet, dass die Tabelle angeklickt wurde? Muss ich dafür eventuell was am ColumnModel verändern?
Ich weiß wirklich nicht weiter, habe schon etliche Webseiten durchsucht aber keine Lösung gefunden.
Danke im Voraus für alle hilfreichen Tips!
ich stehe zur Zeit vor einem Problem bei der Entwicklung einer Oberfläche, die eine ganze Reihe von Informationen in ein paar JTables darstellen soll. Wenn man dabei auf eine der Tabellen klickt, soll immer ein kleines Ereignis ausgeführt werden. Dabei ist es völlig egal, in welche Zelle, Zeile oder Spalte der Benutzer klickt, wichtig ist nur, DASS die entsprechende Tabelle angeklickt wurde.
Meine Aktuelle Lösung sieh folgendermaßen aus:
tblAll.getColumnModel().getSelectionModel().addListSelectionListener( new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
System.out.println("Angeklickt!");
}
});
Das ganze funktioniert allerdings nur sehr eingeschränkt. Beim Programmstart geht es noch wunderbar: Klicke ich eine beliebige Tabelle an wird auch der Text ausgegeben. Klicke ich eine 2. Tabelle an passiert es ebenfalls...
Aber: Wenn die 2. Tabelle angeklickt wurde und ich wieder in die 1. klicke wird das Event nur dann ausgelöst, wenn ich nicht in die selbe Spalte klicke wie beim ersten Klick.
Ist es möglich, dass ganze so abzuändern, dass der Listener wirklich "nur" darauf achtet, dass die Tabelle angeklickt wurde? Muss ich dafür eventuell was am ColumnModel verändern?
Ich weiß wirklich nicht weiter, habe schon etliche Webseiten durchsucht aber keine Lösung gefunden.
Danke im Voraus für alle hilfreichen Tips!