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

java菜单项的事件问题
MenuItem newLine=new CheckboxMenuItem("自动换行(W)");
if(e.getSource().equals(newLine))
{
t.setLineWrap(true);
}
在做事件处理的时候它不会做出响应

我这样写它是不会自动换行的。但如果我把CheckboxMenuItem换成MenuItem后就可以了,但我想要的是CheckboxMenuItem当选择的时候会在菜单上显示打一个勾的。求教应该怎样写啊?

------解决方案--------------------
你先看看点的时候会不会进到你的方法里面
不会的话看看监听器有没有问题
会的话再看看其它,比如e.getSource()==newLine
------解决方案--------------------
MenuItem newLine=new CheckboxMenuItem( "自动换行(W) ");
这样写实现不了的话,下面这样写呢。
CheckboxMenuItem newLine=new CheckboxMenuItem( "自动换行(W) ");

CheckboxMenuItem的监听器要用addItemListener() 这个方法。

在itemStateChanged()方法里进行设置。