问题描述
每当从 JComboBox
中做出选择时,我都会尝试触发一个事件.
I'm trying to get an event to fire whenever a choice is made from a JComboBox
.
我遇到的问题是没有明显的 addSelectionListener()
方法.
The problem I'm having is that there is no obvious addSelectionListener()
method.
我尝试使用 actionPerformed()
,但它从未触发.
I've tried to use actionPerformed()
, but it never fires.
如果没有覆盖 JComboBox
的模型,我已经没有想法了.
Short of overriding the model for the JComboBox
, I'm out of ideas.
如何在 JComboBox
上获得选择更改的通知?**
How do I get notified of a selection change on a JComboBox
?**
我必须道歉.事实证明,我使用的是 JComboBox
的一个行为不端的子类,但由于您的回答很好,所以我将这个问题搁置一旁.
I have to apologize. It turns out I was using a misbehaving subclass of JComboBox
, but I'll leave the question up since your answer is good.
推荐答案
它应该响应 ActionListeners,像这样:
It should respond to ActionListeners, like this:
combo.addActionListener (new ActionListener () {
public void actionPerformed(ActionEvent e) {
doSomething();
}
});
@John Calsbeek 正确地指出 addItemListener()
也可以使用.但是,您可能会得到 2 个 ItemEvents
,一个用于取消选择先前选定的项目,另一个用于选择新项目.只是不要同时使用这两种事件类型!
@John Calsbeek rightly points out that addItemListener()
will work, too. You may get 2 ItemEvents
, though, one for the deselection of the previously selected item, and another for the selection of the new item. Just don't use both event types!
这篇关于JComboBox 选择更改侦听器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!