我正在使用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”,弹出框架,用户处理框架及其必须提供的信息,然后关闭框架。
他记得他忘记填写一个信息,所以他重新选择了“结束”项目,但是没有任何反应,因为他没有更改所选项目。
答案 0 :(得分:2)
只需添加一个ActionListener而不是ItemListener。
另请参阅JCombobox - Only execute actionlistener when value changes,其中有人遇到与您相反的问题