JComboBox的Item发生变化时一次怎么产生两个ItemEvent,如何让itemStateChanged只执行一次?

importjava.awt.event.ItemEvent;importjava.awt.event.ItemListener;importjavax.swing.*;... import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.*;

public class testFrame extends JFrame implements ItemListener
{

// ImageJScrollTextArea imgArea=new ImageJScrollTextArea(new ImageIcon("img/systemr.jpg").getImage());
JPanel p0=new JPanel();
JPanel p=new JPanel();
public testFrame()
{

JButton c=new JButton("ccccccccccc") ;
JButton c2=new JButton("ccccccccccc") ;
JComboBox comboBox=new JComboBox();
comboBox.addItem("1");
comboBox.addItem("2");
comboBox.addItem("3");
comboBox.addItemListener(this);

p.add(c);
p.add(c2);
p.add( comboBox);
this.getContentPane().add(p);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(360, 260);
this.setVisible(true);
}

public static void main(String args[])
{
new testFrame();
}
public void itemStateChanged(ItemEvent e)
{
System.out.println("我变化了!");
String s=(String)e.getItem();
System.out.println(s);

}

}

就是想选择项发生变化时,做出相应的响应,可是这么做总是响应两次?不知道是不是用错了事件
展开
 我来答
JesChou
2011-06-13 · TA获得超过1431个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:383万
展开全部
本来就是两个,先是某个选项取消选择,触发一个事件,然后是又选择了另一个,再次触发事件

但是事件性质不一样,你可以e.getStateChange()这回返回事件的类型,SELECTED或者DESELECTED

这样,判断一下,再去处理事件
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式