Ich habe eine JTable
und eine TableRowSorter
, die ich eine Operation durchführen möchte nach eine Sortierung ist abgeschlossen. Ich habe im Netz gestöbert und bisher hatte ich nicht viel Glück.Ausführen einer Aktion nach einer RowSort-Operation
Anfangs dachte ich, nur ein RowSorterListener
würde den Trick machen, aber leider führt es die Operation nicht durch, nachdem die Sortierung beendet ist.
Hinzufügen einer MouseListener
an die JTable
Header könnte funktionieren, aber die Lösung ist nicht sehr elegant.
Hat jemand irgendwelche Ideen?
Vielen Dank!
bearbeitet (von Kommentaren): Das folgende ist in einem Verfahren in einer benutzerdefinierten TableModel
Klasse hinzugefügt, die AbstractTableModel
erstreckt. Diese Methode wird immer dann aufgerufen, wenn JTable
in der benutzerdefinierten Klasse TableModel
festgelegt/angegeben ist.
sorter.addRowSorterListener(new RowSorterListener() {
@Override public void sorterChanged(RowSorterEvent rowsorterevent) {
rebuildMItems(); // The method which executes
}
});
'RowSorterListener' sollte funktionieren. Können Sie zeigen, wie Sie den RowSorterListener und die Implementierung Ihrer 'sorterChanged' Methode hinzufügen? – akf
Akf, danke für deine Hilfe. Das folgende wird in einer Methode innerhalb einer benutzerdefinierten 'TableModel' Klasse hinzugefügt, die' AbstractTableModel' erweitert. Diese Methode wird aufgerufen, wenn die 'JTable' in der benutzerdefinierten 'TableModel'-Klasse festgelegt/angegeben wird.
Nichts zu aufregend, obwohl: P –Hoppla, sieht aus wie die Formatierung ging schief dort. Kannst du mir sagen, dass ich neu bei Stack Overflow bin? :) –