Hallo,
ich folgendes Problem:
Ich habe eine Tabelle, der ich ein Model und ein ColumnModel verpasse und soweit ist auch alles gut.
Nun habe ich versucht, anhand der Beispiele in den FAQ's eine Sortierung zu aktivieren:
Eigentlich ja kein Problem. Aber wenn ich dann Daten einfügen möchte mit:
Dann erhalte ich folgende Fehlermeldung:
Caused by: java.lang.IndexOutOfBoundsException: Invalid range
at javax.swing.DefaultRowSorter.checkAgainstModel(DefaultRowSorter.java:904)
at javax.swing.DefaultRowSorter.rowsInserted(DefaultRowSorter.java:844)
at javax.swing.JTable.notifySorter(JTable.java:4208)
at javax.swing.JTable.sortedTableChanged(JTable.java:4056)
at javax.swing.JTable.tableChanged(JTable.java:4333)
at com.test.wswing.WJTable.tableChanged(WJTable.java:236)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)
at javax.swing.table.AbstractTableModel.fireTableRowsInserted(AbstractTableModel.java:215)
at com.test.client.table.HyperTableModel2.addRow(HyperTableModel2.java:261)
at ...
Instanziiere und setze ich den TableRowSorter nach dem Hinzufügen der Rows, dann klappts problemlos, aber ich will doch eigentlich eine saubere Initialisierung der Tabelle haben, bevor ich Daten einfüge.
Hab ich da einen Gedankenfehler, oder was mache ich falsch?
Gruß, Nick
ich folgendes Problem:
Ich habe eine Tabelle, der ich ein Model und ein ColumnModel verpasse und soweit ist auch alles gut.
Nun habe ich versucht, anhand der Beispiele in den FAQ's eine Sortierung zu aktivieren:
Code:
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>( this.table.getModel() );
this.table.setRowSorter( sorter );
Code:
final Vector v = new Vector();
v.add( entry.getKey() );
v.add( entry.getValue() );
extMappingTable.getComponent().addRow( v );
Caused by: java.lang.IndexOutOfBoundsException: Invalid range
at javax.swing.DefaultRowSorter.checkAgainstModel(DefaultRowSorter.java:904)
at javax.swing.DefaultRowSorter.rowsInserted(DefaultRowSorter.java:844)
at javax.swing.JTable.notifySorter(JTable.java:4208)
at javax.swing.JTable.sortedTableChanged(JTable.java:4056)
at javax.swing.JTable.tableChanged(JTable.java:4333)
at com.test.wswing.WJTable.tableChanged(WJTable.java:236)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)
at javax.swing.table.AbstractTableModel.fireTableRowsInserted(AbstractTableModel.java:215)
at com.test.client.table.HyperTableModel2.addRow(HyperTableModel2.java:261)
at ...
Instanziiere und setze ich den TableRowSorter nach dem Hinzufügen der Rows, dann klappts problemlos, aber ich will doch eigentlich eine saubere Initialisierung der Tabelle haben, bevor ich Daten einfüge.
Hab ich da einen Gedankenfehler, oder was mache ich falsch?
Gruß, Nick