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

时间:2015-05-11 11:18:20

标签: java combobox listener netbeans-8

我有一个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());

} 

一切正常,但我在我的控制台中得到了一个重复的输出:

enter image description here

输出应如下所示:

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

没有重复!问题与其他问题不同,因为我想打印出结果,并且我正在使用其他活动!我该怎么办,只有在我的控制台中出现所选项目时才会这样做?

1 个答案:

答案 0 :(得分:0)

解决方案是从您的活动中获取stateChange。

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

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

}

输出现在是唯一的。