In einer Klasse namens HistoryPanel
Ich habe eine statische JTable namens resultsTable
mit einem statischen DefaultTableModel namens tableModel
. Die Tabelle hat eine eigene Zelle Editor:JTable entfernen Zeile durch Klicken auf eine Zelle mit einem benutzerdefinierten DeleteCellEditor aus der gleichen JTable
resultsTable.getColumn("Delete").setCellEditor(new DeleteButtonEditor(new JCheckBox()));
Innen, natürlich, ich diese beiden Methoden wie diese außer Kraft setzen:
public Object getCellEditorValue()
{
if (isPushed)
{
HistoryPanel.tableModel.removeRow(HistoryPanel.resultsTable.getSelectedRow());
}
}
protected void fireEditingStopped()
{
super.fireEditingStopped();
}
Die Ausnahme wird nur ausgelöst, wenn ich versuche, die letzte Zeile des entfernen ErgebnisseTabelle. Wenn ich eine Zeile entferne, die nicht die letzte ist, funktioniert sie perfekt. Die Ausnahme ist:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
Und die Zeile Code, der die Ausnahme verursacht, ist:
super.fireEditingStopped();
Kann mir jemand helfen? Wie kann ich diese Ausnahme vermeiden?
Vielen Dank! Klappt wunderbar! –
@HristoValchevHristov dann betrachten [die Antwort akzeptieren] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), so dass andere diese Frage sehen können, ist gelöst – Robin