我在 JPanel 中有一个 JComboBox(它本身嵌套在其他几个 JPanel 中)。它填充了枚举的成员。我遇到了一个问题,当我单击展开按钮时,弹出菜单不会出现。
以下是我迄今为止收集到的信息:
1)第一次点击展开按钮没有任何反应。第二次单击突出显示了该框的内容,但弹出窗口仍然没有出现。
2)一旦我单击按钮并赋予其焦点,向上/向下击键就会正确地循环浏览条目。
3)我尝试添加 PopupMenuListener 来打印事件,并且事件以无法解释的方式触发:
mouse down: popupMenuWillBecomeVisible fires
mouse up: nothing
mouse down: popupMenuWillBecomeInvisible fires
mouse up: nothing
这是我的 JComboBox 初始化代码:
comboBox = new JComboBox();
comboBox.setPreferredSize(new Dimension(175, 30));
comboBox.setMaximumSize(new Dimension(175, 30));
comboBox.setAlignmentX(0.5f);
comboBox.addItem(Enum.Value1);
...
parentPanel = new JPanel();
parentPanel.setLayout(new BoxLayout(parentPanel, BoxLayout.X_AXIS));
parentPanel.setMaximumSize(new Dimension(37267, 50));
... add some other stuff to parentPanel ...
parentPanel.add(comboBox);
有谁知道为什么弹出菜单可能不会出现?
谢谢您的帮助!
我在 mac (10.5+) 上遇到了 Java (1.6) 的类似问题
这是因为 jCombobox 出现的对话框是
模态。
就我而言,下拉列表实际上确实出现了,但因为它没有那么大
绘制的并不明显behind对话框:)所以如果你
怀疑是这种情况,通过使下拉菜单变长来验证它
足以出现在隐藏它的组件下方。
- 用许多填充下拉列表
项目。
- 设置其规范返回一个
足够大的数量
“获取最大行计数”。
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)