如下,我在一个我定义的panel类里定义:  
private  String  []item={"64MB","128MB","256MB","512MB","1GB","other"};  
private  JComboBox  ramSpeed=new  JComboBox(item);  
int  speed=0;  
构造函数中:  
ramSpeed.addItemListener(this);  
ramSpeed.setSelectedIndex(2);  
 
ITEM方法中:  
public  void  itemStateChanged(ItemEvent  e){  
         if(ramSpeed.getSelectedIndex()==0)  
                     speed=115600;//这里的数字我瞎写的,程序中的我不记得了  
         else(ramSpeed.getSelectedIndex()==1)  
                     speed=237648;  
                     ...  
                     ...//省略部分直到1GB  
         else{//最后一个就是other,自定义  
               String  str=JOptionPane.showInputDialog(this,"请输入自定义值:",23455);  
                 if  (str!=null)  
                         speed=Integer.parseInt(str);        
         }  
           System.out.println("ok");              
}  
 
现在的问题是这个事件只要选择一个item项,它执行两次,最后一项尽然弹两次文本输入框。我用了一个println跟在这个事件后面测试了,无论选哪个,它都打印两遍println的结果:  
ok    
ok  
是什么原因,我想的是选一项就改一项啊,不想要它两次执行的。