我在使用以下代码时遇到问题,我在其中使用 JComboBox 更改表格单元格中的字符串值。JComboBox 工作正常,但是如果我单击该框,然后单击离开而不选择任何内容,即使我删除了该行,JComboBox 的下拉列表仍然可见。单击另一个 Swing 组件(如 JButton)通常会导致它消失,但并非总是如此。
TableColumn col = myTable.getColumnModel().getColumn(0);
JComboBox eq = new JComboBox();
eq.addItem("==");
eq.addItem("!=");
DefaultCellEditor editor = new DefaultCellEditor(eq);
col.setCellEditor(editor);
编辑:我没有提到我之前设置的:
myTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
如果我将此行注释掉或将其设置为 false,那么单击其他 Swing 组件不会导致该框消失。有了它,单击任何引起焦点的东西都会导致框消失,从而使问题不那么烦人,但可能掩盖了行为的原因。
我在这里做错了什么,还是忘记了一步?或者,有没有办法强迫它自行关闭?
谢谢!