在名为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