每当尝试从中进行选择时,我都试图触发一个事件JComboBox。
JComboBox
我遇到的问题是没有明显的addSelectionListener()方法。
addSelectionListener()
我尝试使用actionPerformed(),但从未触发。
actionPerformed()
没有覆盖的模型JComboBox,我没有想法。
如何通知有关JComboBox 选择更改的通知?
编辑:我要道歉。事实证明,我使用的是行为JComboBox不佳的子类,但由于你的回答是好的,因此我将保留该问题。
它应该响应ActionListeners,如下所示:
ActionListeners
combo.addActionListener (new ActionListener () { public void actionPerformed(ActionEvent e) { doSomething(); } });
@John Calsbeek正确地指出了也addItemListener()可以。ItemEvents但是,你可能会得到2 ,一个用于取消选择先前选择的项目,另一个用于选择新项目。只是不要同时使用两种事件类型!
@John Calsbeek
addItemListener()
ItemEvents
2
ItemListener实现的代码示例
ItemListener
class ItemChangeListener implements ItemListener{ @Override public void itemStateChanged(ItemEvent event) { if (event.getStateChange() == ItemEvent.SELECTED) { Object item = event.getItem(); // do something with object } } }
现在,我们将仅获得选定的项目。
然后只需将侦听器添加到你的JComboBox
addItemListener(new ItemChangeListener());