在我的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);
但上面一行中的相同单元格正在编辑。如何停止编辑并取消选择所有行?
答案 0 :(得分:0)
如果您发布了可以直接运行的代码示例,那将会很有帮助。既然你没有,我还没有测试过 - 我不知道你在桌面模型中做了哪些其他的改变。
更改
super.stopCellEditing();
到
super.cancelCellEditing();
并删除clearSelection
行。