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 有人遇到与您相反的问题
我正在使用 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 有人遇到与您相反的问题