java – 一次调用两次JComboBox itemStateChanged事件

前端之家收集整理的这篇文章主要介绍了java – 一次调用两次JComboBox itemStateChanged事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. resultCombo = new JComboBox();
  2. resultCombo.addItemListener(new ItemListener() {
  3. @Override
  4. public void itemStateChanged(ItemEvent ie) {
  5. sampleText=resultCombo.getSelectedItem().toString();
  6. System.out.println("SampleText : "+sampleText);
  7. }
  8. });
  9.  
  10.  
  11. output:
  12. SampleText : selectedword
  13. SampleText : selectedword

为什么在组合框中选择项目时会调用此事件两次.

解决方法

对于单个更改,JComoboBox ItemListener会被调用两次.一次用于SELECTED事件,一次用于DESELECTED事件.

有关如何编写ItemListener的信息,请参见this tutorial page.

基本上你要做的就是

  1. public void itemStateChanged(ItemEvent e) {
  2. if (e.getStateChange() == ItemEvent.SELECTED) {
  3. //Do any operations you need to do when an item is selected.
  4. } else if(e.getStateChange() == ItemEvent.DESELECTED){
  5. //Do any operations you need to do when an item is de-selected.
  6. }
  7. }

猜你在找的Java相关文章