初始化:
JComboBox jb = new JComboBox();
jb.addItem("1");
jb.addItem...
...
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
.......
}
});我调用jb.setSelectedItem("1"),为什么jb的ActionListener也能听到?
如果我不想让它听到怎么办?(因为我只想改变jb的显示值而已)
难道我应该给jb add别的类型的Listener而不是ActionListener?具体?

解决方案 »

  1.   

    你可以使用jb.putClientProperty()方法
    jb.putClientProperty(key,Boolean.valueOf(true));
    jb.setSelectedItem("1");
    jb.putClientProperty(key,Boolean.valueOf(false));
    public void actionPerformed(ActionEvent e){
    Boolean remoteProcess = (Boolean)(jComboBox1.getClientProperty(key));
    if (!remoteProcess.booleanValue()) {
         System.out.println("1");
    } }这样不知道可以满足你的要求不
      

  2.   

    好像是可以。不过,我总感觉不够灵活,就跟用一个全局变量一样:(
    Anyway,thank you all the same!