今天做了个小东西,发现NetBeans下拉框控件有个小BUG。下面简单的说一下:

  单选框控件当绑定ItemStateChanged(选中)事件时,如果不做任何处理方法会执行两遍。一开始以为自己程序写错了,但经过检查代码肯定是没问题,后来把单选框的各种属性都试了一下,才发现原因。这里我的单选框名字是“jComboBox1”, jComboBox1有2个状态,一个是Selected ,另一个是deSelected,当改变下拉列表中被选中项的时候,其实是触发了两次事件。比如我的下拉表中当前有3个选项“A,B,C”,目前选中的是A选项,现在我要选择B选项,这个时候选中的项的状态由Selected 变为 deSelected ,即取消选择A(这是第一次事件),然后选择B选项的时候状态由 deSelected 变为 Selected ,选中A选项(这个是第二次事件),所以当我们绑定ItemStateChanged写程序时,会执行2次。解决办法如下:

    private void jComboBoxItemStateChanged(java.awt.event.ItemEvent evt)

    {                                           

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

        JOptionPane.showMessageDialog(null,"测试");            

       }

           } 

  上面代码就是做了个简单的判断,判断只有选中一个选项的时候才做处理。

posted on 2012-01-09 13:07  憤怒的小鳥  阅读(1743)  评论(0编辑  收藏  举报