如何在JTable中删除行后停止编辑单元格

时间:2011-12-24 16:22:02

标签: java swing jtable cell

在我的JTable中添加新行时,会自动选择“JTextString”单元格进行编辑。如果在单元格中输入的新值未通过验证,则应该删除此新行。

在我的DefacultCellEditor实例中,我有:

        @Override
        public boolean stopCellEditing(){
            /* do something */

                if (/* failed validation */) {
                    super.stopCellEditing();
                    myTable.getSelectionModel().clearSelection();
                    myTable.removeLastRow();
                    return true;
                }
           ....
         }

实际上,当验证失败时,最后一行将被删除:

    model.removeRow(model.getRowCount() - 1);

但上面一行中的相同单元格正在编辑。如何停止编辑并取消选择所有行?

1 个答案:

答案 0 :(得分:0)

如果您发布了可以直接运行的代码示例,那将会很有帮助。既然你没有,我还没有测试过 - 我不知道你在桌面模型中做了哪些其他的改变。

更改

super.stopCellEditing();

super.cancelCellEditing();

并删除clearSelection行。