簡體   English   中英

在JTable中刪除一行后如何停止編輯單元格

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM