我有一个JTable,用户可以在其中编辑单元格。当用户编辑单元格时,我想启用一个允许用户验证输入的按钮。但是,我只想在用户不再处于编辑模式时执行此操作。有没有一种简单的方法可以检测Jtable当前是否正在编辑任何单元格?
谢谢,
答案 0 :(得分:6)
更容易:
if (!table.isEditing())
//
答案 1 :(得分:1)
事实证明,Jtable有一种方法可以检测是否正在编辑任何单元格。它实际上非常简单。您只需检查myJtable.getCellEditor()== null。如果不是,则表示您正在编辑单元格,如果是,则不编辑单元格。
答案 2 :(得分:0)
class TableEditor extends DefaultCellEditor{
JTextField com;
public TableEditor(){
getComponent().addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e){
com.setBackground(new Color.red);
}
});
}
}
然后
tb.setDefaultEditor(Object.class,new TableEditor());
答案 3 :(得分:-1)
我会使用自定义TabelModel
并覆盖setValueAt
函数来执行验证。只要用户完成编辑表格单元格,就应该自动调用它。