小编Joh*_*phy的帖子

焦点问题使用JComboBox作为JTable中的单元格编辑器

我遇到以下代码的问题,我使用JComboBox更改表格单元格中的字符串值.JComboBox工作正常,但是如果我在框中单击然后单击而不选择任何内容,即使我删除了行,JComboBox的下拉列表仍然可见.单击另一个像JButton这样的Swing组件通常会导致它消失,但并非总是如此.


    TableColumn col = myTable.getColumnModel().getColumn(0);
    JComboBox eq = new JComboBox();
    eq.addItem("==");
    eq.addItem("!=");
    DefaultCellEditor editor = new DefaultCellEditor(eq);
    col.setCellEditor(editor);
Run Code Online (Sandbox Code Playgroud)

编辑:我之前忽略了提到:


    myTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
Run Code Online (Sandbox Code Playgroud)

如果我对此行进行注释或将其设置为false,则单击其他Swing组件不会导致该框消失.有了它,点击任何需要聚焦的东西会使盒子消失,使问题不那么烦人,但可能掩盖了行为的原因.

我在这里做错了什么,还是忘记了一步?或者,有没有办法迫使它自己关闭?

谢谢!

java swing focus jtable jcombobox

9
推荐指数
1
解决办法
5518
查看次数

自动将长行Java代码重新格式化为80列仍然可以编译?

我的团队正在几个不同的IDE中开发Java代码,这些IDE具有不同数量的列.到目前为止,它运行良好,但我们已被要求向合作伙伴提供可编译的代码,其源代码限制为80列.我们希望以礼貌的方式做到这一点,但我们无法/愿意每天使用80列有限代码.是否有任何可用的工具可以使用Java代码,并智能地添加换行符以使其适合80个字符并仍然可以正确编译?理想情况下,我希望它是我们构建过程中的一个自动化步骤,递归遍历.java文件的源目录并生成具有新格式的副本.

我对80列代码或编辑器的优点不感兴趣,只是在看是否有快速解决方案可以让每个人都感到高兴,而不必改变他们做事的方式.

java ide coding-style

4
推荐指数
2
解决办法
6771
查看次数

标签 统计

java ×2

coding-style ×1

focus ×1

ide ×1

jcombobox ×1

jtable ×1

swing ×1