检测JTable中是否正在编辑任何单元格

时间:2011-06-23 17:05:22

标签: java jtable

我有一个JTable,用户可以在其中编辑单元格。当用户编辑单元格时,我想启用一个允许用户验证输入的按钮。但是,我只想在用户不再处于编辑模式时执行此操作。有没有一种简单的方法可以检测Jtable当前是否正在编辑任何单元格?

谢谢,

4 个答案:

答案 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函数来执行验证。只要用户完成编辑表格单元格,就应该自动调用它。