Hallo!
Folgendes Problem:
Ich habe eine JTable mit eigenem CellRenderer und eigenem Model.
Dieser färbt Zeilen und Felder, die geänderte Daten enthalten, ein.
Es funktioniert prima, solange die Tabelle in der Ausgangsreihenfolge sortiert ist, und nicht nach einer bestimmten Spalte.
Das liegt daran, dass die Methoden getValueAt(int rowIndex, int columnIndex) und setValueAt(Object aValue, int rowIndex, int columnIndex) von TableModel die Zeile und Spalte im Model übergeben bekommen, die Methode getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) bekommen die Zeilen- und Spaltennummer der angezeigten Tabelle.
Diese Werte stimmen nicht mehr, wenn sich die Reihenfolge der Zeilen ändert, vermutlich auch wenn Filter angewendet werden.
Wie komme ich an die richtige Zeilennummer im Model? Irgendwo muss ein Zuordnungs-Index existieren...
Grüße
Egon
Folgendes Problem:
Ich habe eine JTable mit eigenem CellRenderer und eigenem Model.
Dieser färbt Zeilen und Felder, die geänderte Daten enthalten, ein.
Es funktioniert prima, solange die Tabelle in der Ausgangsreihenfolge sortiert ist, und nicht nach einer bestimmten Spalte.
Das liegt daran, dass die Methoden getValueAt(int rowIndex, int columnIndex) und setValueAt(Object aValue, int rowIndex, int columnIndex) von TableModel die Zeile und Spalte im Model übergeben bekommen, die Methode getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) bekommen die Zeilen- und Spaltennummer der angezeigten Tabelle.
Diese Werte stimmen nicht mehr, wenn sich die Reihenfolge der Zeilen ändert, vermutlich auch wenn Filter angewendet werden.
Wie komme ich an die richtige Zeilennummer im Model? Irgendwo muss ein Zuordnungs-Index existieren...
Grüße
Egon