我遇到以下代码的问题,我在其中使用JComboBox更改表格单元格中的字符串值。 JComboBox的工作正常,但如果我点击框中,然后点击而不选择任何东西 JComboBox的下拉列表仍然可见,即使我删除该行。单击另一个Swing组件(如JButton)通常会导致它消失,但并非总是如此。焦点问题使用JComboBox作为JTable中的单元格编辑器
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组件不会导致框消失。有了它,点击任何需要关注的东西都会使盒子消失,使问题变得更加烦人,但可能掩盖了行为的原因。
我在这里做错了什么,或忘记了一步?或者,是否有办法迫使它关闭?
谢谢!
谢谢你的背景和完整的答案。我已经看过这些方法,但还没有发现任何东西。我认为你基本上得到了正确的答案 - 我只需要弄清楚它发生了什么。谢谢! – 2009-02-19 20:14:36