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("斜体");
}  
            }

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

解决方案 »

  1.   

    楼主这些==看着悬啊,用.equals()方法试试看。
      

  2.   

    if (((JComboBox)e.getSource()).getSelectedItem().toString().equals("粗体")) {
    System.out.println("粗体");
    } else if(((JComboBox)e.getSource()).getSelectedItem().toString().equals("斜体")) {
    System.out.println("斜体");
    }   
      

  3.   

    楼上说的对,还有看看这句哈:
    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试试看。