I'm trying to get an event to fire whenever a choice is made from a JComboBox
.
The problem I'm having is that there is no obvious addSelectionListener()
method.
I've tried to use actionPerformed()
, but it never fires.
Short of overriding the model for the JComboBox
, I'm out of ideas.
How do I get notified of a selection change on a JComboBox
?**
Edit: 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.
It should respond to ActionListeners, like this:
combo.addActionListener (new ActionListener () {
public void actionPerformed(ActionEvent e) {
doSomething();
}
});
@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!