我正在使用一个JComboBox
,如果所选项目发生更改,它会触发另一个框架的打开。
这是一个代码示例。
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
}
});
我的问题是,当用户选择两次相同的项目时,我也希望触发此框架。
例如:
在这种情况下,用户选择项目“结束”,框架弹出,用户处理框架和他必须提供的信息,然后关闭框架。
他记得自己忘记填写一项信息,于是他重新选择了“Over”项,但没有任何反应,因为他没有更改所选的项。
最佳答案
只需添加一个 ActionListener 而不是 ItemListener。
另请参阅JCombobox - Only execute actionlistener when value changes有人遇到与您相反的问题
关于java - JComboBox,如果所选项目发生更改或选择相同的项目,则触发操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55420410/