gpt4 book ai didi

java - JComboBox 弹出菜单没有出现

转载 作者:行者123 更新时间:2023-12-04 06:35:55 25 4
gpt4 key购买 nike

我在 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 出现的对话框是
模态。

在我的情况下,下拉菜单实际上确实出现了,但因为它不是那么大
它是在对话框后面绘制的并不明显:) 所以如果你
怀疑是这种情况,通过使下拉菜单变长来验证它
足以出现在隐藏它的组件下方。

  • 用许多填充下拉列表
    项目。
  • 设置它的规范以返回一个
    足够大的数量
    “getMaximumRowCount”。

  • 希望能帮助到你。

    关于java - JComboBox 弹出菜单没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880840/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com