[英]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.