gpt4 book ai didi

Java ComboBox 如何填充点击添加项目不起作用

转载 作者:行者123 更新时间:2023-11-29 07:40:02 24 4
gpt4 key购买 nike

其实很简单。我想填充一个 jcomboBox 但只有在用户按下组合框上的箭头之后。

我认为代码是正确的,因为我在一个单独的按钮中测试它并填充组合框,但是当我为组合框本身创建一个 Action 监听器时它不会填充,这是代码。

comboBox.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
comboBox.addItem("Item");
comboBox.addItem("Second Item");

}

这是一个乡村城市邻里的情况。我想要的是在选择第一个时填充第二个。

第一个框很容易填充(国家框)但是第二个框(城市)我为它添加了一个开关但它不会填充,我想知道的是我应该采取什么行动我的代码进入它来填充?

最佳答案

I want to populate a jcomboBox but only after the user press the arrow on the combobox.

为什么用户会看到一个空的组合框然后单击箭头?如果组合框的内容基于某些其他用户操作,则该操作应该导致组合框被填充。

无论如何,也许您正试图在显示下拉列表时弹出组合框?

也就是说,用户可以单击组合框上的任意位置,而不仅仅是向下箭头。

在这种情况下,您可以使用 PopupMenuListener

comboBox.addPopupMenuListener(new PopupMenuListener()
{
public void popupMenuWillBecomeVisible(PopupMenuEvent e)
{
JComboBox comboBox = (JComboBox)e.getSource();
comboBox.addItem("Item1");
comboBox.addItem("Item2");
comboBox.addItem("Item3");
comboBox.addItem("Item4");
}

public void popupMenuCanceled(PopupMenuEvent e) {}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {}
});

编辑:

It's a country city neighborhood situation .

这是您的原始问题中应该包含的要求。正如人们所建议的那样,您的方法是错误的。子组合框应在父组合框更改时更新,而不是在您单击子组合框时更新。

参见 How to Update Multiple Combo Boxes以获得更好的解决方案。那里的例子只显示了 2 个组合框,但第二个和第三个的概念是相同的。

关于Java ComboBox 如何填充点击添加项目不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237216/

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