在 JComboBox 上使用 ItemStateChanged 侦听器重复输出

Duplicate output with ItemStateChanged listener on JComboBox

我有一个 JComboBox,每次更改后我都想打印出所选项目。这是我的 JCombobox 的代码:

mycombobox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

我的活动是这样的:

private void mycomboboxItemStateChanged(java.awt.event.ItemEvent evt) {                                            

    System.out.println(mycombobox.getSelectedItem());

} 

一切正常,但我在控制台中得到重复的输出,如下所示:

输出应如下所示:

Item 2
Item 3
Item 4
Item 1
Item 2
Item 3

没有重复!问题与其他人不同,因为我想打印出结果并且我正在使用另一个事件!我必须做什么,只有当所选项目出现在我的控制台中时?

解决方案是从您的事件中获取 stateChange。

if (evt.getStateChange() == ItemEvent.SELECTED) {

     System.out.println(mycombobox.getSelectedItem());

}

输出现在是唯一的。