JComboBox中选择某个选项时itemStateChanged调用2次的原因在于:

1、在选择一个新的选项之前,原来被选中的选项会改变状态,由被选中(SELECTED)到没被选中(DESELECTED)

2、在选择新选项时,这个选项会改变状态,由没被选中(DESELECTED)到被选中(SELECTED)

所以解决该问题只需要判断一下状态就可以了,例如:

private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {
  //判断状态是不是被选中
  if(evt.getStateChange() == ItemEvent.SELECTED){
   JOptionPane.showMessageDialog(this, jComboBox1.getSelectedItem());
  } 
 }

posted on 2012-10-11 10:20  aparche  阅读(2846)  评论(0编辑  收藏  举报