JComboBox选择更改侦听器?
时间:2020-03-05 18:52:12 来源:igfitidea点击:
每当尝试从" JComboBox"中做出选择时,我都试图触发一个事件。
我遇到的问题是没有明显的addSelectionListener()
方法。
我尝试使用actionPerformed()
,但是它永远不会触发。
缺少覆盖JComboBox
的模型,我没有主意。
如何在" JComboBox"上收到关于选择更改的通知?
编辑:我很抱歉,事实证明我使用的是JComboBox的子类,但由于回答是好的,因此我将保留该问题。开始投票。 :)
解决方案
回答
它应该响应ActionListeners,如下所示:
combo.addActionListener (new ActionListener () { public void actionPerformed(ActionEvent e) { doSomething(); } });
@John Calsbeek正确地指出addItemListener()
也将起作用。但是,我们可能会获得2个" ItemEvents",一个用于取消选择先前选择的项目,另一个用于选择新项目。只是不要同时使用两种事件类型!
回答
如果jodonnell的解决方案失败,我将尝试使用ItemListener接口的itemStateChanged()方法。
回答
我们可以尝试这些
int selectedIndex = myComboBox.getSelectedIndex();
-或者-
Object selectedObject = myComboBox.getSelectedItem();
-或者-
String selectedValue = myComboBox.getSelectedValue().toString();