在名爲HistoryPanel
的類中,我有一個名爲resultsTable
的靜態JTable,其中包含一個名爲tableModel
的靜態DefaultTableModel。該表具有自定義單元格編輯:JTable通過單擊具有自定義DeleteCellEditor的單元格從相同的JTable中刪除行
resultsTable.getColumn("Delete").setCellEditor(new DeleteButtonEditor(new JCheckBox()));
裏面,自然,我重寫這樣這兩種方法:
public Object getCellEditorValue()
{
if (isPushed)
{
HistoryPanel.tableModel.removeRow(HistoryPanel.resultsTable.getSelectedRow());
}
}
protected void fireEditingStopped()
{
super.fireEditingStopped();
}
唯一的例外是暫時只有拋出當我嘗試刪除的最後一行resultsTable。當我刪除不是最後一行的行時,它完美地工作。唯一的例外是:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 >= 1
和導致異常的代碼行是:
super.fireEditingStopped();
誰能幫助我?如何避免此異常
謝謝!奇蹟般有效! – 2012-03-28 23:10:47
@HristoValchevHristov再考慮[接受答案】(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work),以便其他人可以看到這個問題已經解決 – Robin 2012-03-29 05:57:40