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试试看。