2015-10-18 69 views
2

我有一個Jtable 10行和2列。Jtable中的JComboBox不會停止編輯鼠標點擊

列nb 2是可編輯的JCombobox

當我手動輸入JCombobox中的一些值,當我輸入比該值持續。

但是,當我把一些值在JCombobox,並用鼠標點擊一些其他單元格,而不是分配給該單元格,而我實際編輯的單元格。

基本上它不會停止編輯單元格,當焦點從該單元格丟失時。

當我點擊下一個單元格並將新值分配給該單元格時,它停止編輯。

有什麼建議嗎?

+0

什麼是JComboBox的選項類?串?還是一個自定義對象? – Bon

+0

@BOND類是JComboBox的字符串 –

+0

你能展示你實現了什麼嗎?你使用的是什麼表格單元編輯器? – Bon

回答

0

您應該在您的JCombobox組件上添加一個焦點偵聽器,如果焦點丟失,您應該停止在表格單元格編輯器中進行編輯。例如:

public class TestTableCellEditor extends DefaultCellEditor 
             implements FocusListener { 
private JComboBox comboBox; 

public TestTableCellEditor(JComboBox comboBox) { 
    this.comboBox = comboBox; 
    comboBox.addFocusListener(this);  
} 
// ... Some other things in the editor 

public void focusGained(FocusEvent e) { 
// You don't need to do anything here 
} 
public void focusLost(FocusEvent e) {   
    stopCellEditing();   
} 
} 
相關問題