JComboBox,如果所选项目发生变化或选择了相同的项目,则触发一个动作

JComboBox, trigger an action if the selected item is change or the same is selected

我正在使用 JComboBox,如果项目 selected 发生更改,它会触发另一个框架的打开。

这是一个代码示例。

String[] liste = {"Stack", "Over", "Flow"};
JComboBox comboBox = new JComboBox(liste);
comboBox.addItemListener(e -> {
    if(e.getStateChange() == 2) { //because that listener is called twice, when the item is unselected and the new is selected
        FramePopUp popUp1 = new FramePopUp(); //Class that extends JFrame
    }
});

我的问题是,当用户 select 两次相同的项目时,我也希望触发此框架。

例如:

用户 selects 在这种情况下项目 "Over",Frame Pop 弹出,用户处理 Frame 和他必须提供的信息,然后关闭 Frame。

他记得他忘记填写一个信息,所以他重新select 项目"Over" 但没有任何反应,因为他没有更改select 编辑的项目。

只需添加一个 ActionListener 而不是 ItemListener。

另请参阅 JCombobox - Only execute actionlistener when value changes 有人遇到与您相反的问题