日期:2014-05-20  浏览次数:20718 次

JComboBox怎么用啊,怎么选择了一个Item后没有反应啊。
FontStyleBox.addItemListener(new ItemListener() {

public void itemStateChanged(ItemEvent e) {
if (e.getStateChange()==ItemEvent.SELECTED) 
if (e.getSource() == "粗体") {
System.out.println("粗体");
} else if(e.getSource() == "斜体") {
System.out.println("斜体");
}  
  }

});
应该怎么写啊??就是没有反应

------解决方案--------------------
e.getSelectedIndex()=0,1,2,3判断
------解决方案--------------------
if (((JComboBox)e.getSource()).getSelectedItem().toString().equals("粗体")) {
System.out.println("粗体");
} else if(((JComboBox)e.getSource()).getSelectedItem().toString().equals("斜体")) {
System.out.println("斜体");
}

------解决方案--------------------
楼上说的对,还有看看这句哈:
if (e.getSource() == "粗体") {
System.out.println("粗体");
} else if(e.getSource() == "斜体") {
System.out.println("斜体");
}

说明一下,e.getSource()获得的是事件源,在你这就是Item对象,所以你用它了字符串比较可定不等咯!你要或的Item的value或是Text来比较才行呀。Item应该是有这两个属性的,你看看又没有getText()和getValue()。还有哈,一点小建议,不要用中文串做比较,可以用其他非中文串比较,Item的显示值Text和实际值Value可以不相等的,value上给数字或是字母,用value来比较。

好久写Swing了,不知道记得对不对,lz试试看。