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();