Hi,
ich habe ein Problem beim Zusammenspiel von den Klassen JTable, TableModel und TableRowSorter. In meiner Applikation verwende ich eine von JTable abgeleitete Klasse und eine vom DefaultTableModel. In meinem TableModel wird in der SetValueAt Methode eine Zeile gelöscht und ein fireTableDataChanged() aufgerufen. Das ganze endet mit einer IndexOutOfBoundsException oder ArrayIndexOutOfBoundsException Fehlermeldung. Nachdem dem Aufrufen von fireTableDataChanged wird die getRowCount Methode vom TableModel nicht aufgerufen. In der von JTable abgeleiteten Klasse wird ein TableRowSorter verwendet. Wenn ich den TableRowSorter aus dem Code entferne, funktioniert alles. Alternativ, wenn ich dem TableModel eine Referenz vom TableRowSorter übergebe und vor dem fireTableDataChanged() die Methode rowsDeleted vom TableRowSorter aufrufe funktioniert es auch. Hat jemand eine Idee?
ich habe ein Problem beim Zusammenspiel von den Klassen JTable, TableModel und TableRowSorter. In meiner Applikation verwende ich eine von JTable abgeleitete Klasse und eine vom DefaultTableModel. In meinem TableModel wird in der SetValueAt Methode eine Zeile gelöscht und ein fireTableDataChanged() aufgerufen. Das ganze endet mit einer IndexOutOfBoundsException oder ArrayIndexOutOfBoundsException Fehlermeldung. Nachdem dem Aufrufen von fireTableDataChanged wird die getRowCount Methode vom TableModel nicht aufgerufen. In der von JTable abgeleiteten Klasse wird ein TableRowSorter verwendet. Wenn ich den TableRowSorter aus dem Code entferne, funktioniert alles. Alternativ, wenn ich dem TableModel eine Referenz vom TableRowSorter übergebe und vor dem fireTableDataChanged() die Methode rowsDeleted vom TableRowSorter aufrufe funktioniert es auch. Hat jemand eine Idee?