2011-06-23 57 views
1

我有一個JTable,用戶可以在其中編輯單元格。當用戶通過編輯單元格時,我想啓用一個允許用戶驗證輸入的按鈕。但是,我只想在用戶不再處於編輯模式時執行此操作。有沒有簡單的方法來檢測Jtable中的任何單元格是否正在編輯?檢測是否有任何單元格正在JTable中編輯

謝謝

回答

6

即使簡單:

if (!table.isEditing()) 
    // 
-1

我會使用自定義TabelModel和覆蓋setValueAt函數來執行您的驗證。它應該在用戶完成編輯表格單元格時自動調用。

0

事實證明,Jtable有一種方法來檢測是否有任何單元格正在編輯。這其實很簡單。您只需檢查myJtable.getCellEditor()== null。如果不是,則編輯單元格,如果是,則不編輯單元格。

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()); 
相關問題