[英]How to stop editing cell after removing a row in JTable
在我的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);
但上一行的同一单元格正在编辑。 如何停止编辑并取消选择所有行?
如果您发布了可以直接运行的代码示例,将很有帮助。 既然您没有,我还没有测试过-我不知道您在表模型中做了哪些其他更改。
更改
super.stopCellEditing();
至
super.cancelCellEditing();
并使用clearSelection
删除该行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.