java关于菜单栏和右键菜单的添加问题

我想实现菜单栏文件,编辑两个菜单,还有一个右键菜单,但是注意下面的代码,我添加了注释掉的菜单下面的几行代码,为什麽会出现点击右键的时候只剩下一行自动换行了呢?而且菜单栏都... 我想实现菜单栏文件,编辑两个菜单,还有一个右键菜单,但是注意下面的代码,我添加了注释掉的菜单下面的几行代码,为什麽会出现点击右键的时候只剩下一行自动换行了呢?而且菜单栏都没显示出来求答疑解惑
import java.awt.TextArea;
import java.awt.Frame;
import java.awt.*;
import java.awt.event.*;
public class PopupMenuTest
{
//创建文本域
private final TextArea ta = new TextArea(4,30);
private MenuBar mb = new MenuBar();
//创建主窗口
private final Frame f = new Frame("测试");

//创建右键菜单
PopupMenu pop = new PopupMenu();

//创建菜单项组件
CheckboxMenuItem autoWrap = new CheckboxMenuItem("自动换行");
MenuItem copyItem = new MenuItem("复制");
MenuItem pasteItem = new MenuItem("粘贴");
Menu format = new Menu("格式");
MenuItem commentItem = new MenuItem("注释");
MenuItem cancelItem = new MenuItem("取消注释");
Menu file = new Menu();
Menu edit = new Menu();
MenuItem newItem = new MenuItem();
MenuItem saveItem = new MenuItem();

public void init()
{
ActionListener menuListener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String cmd = e.getActionCommand();
ta.append("单机了" + cmd +"菜单" + "\n");
if(cmd.equals("退出"))
{
System.exit(0);
}
}

};
//为commentItem,cancelItem注册事件监听器
commentItem.addActionListener(menuListener);
cancelItem.addActionListener(menuListener);
pop.add(autoWrap);
pop.add(copyItem);
pop.add(pasteItem);
format.add(commentItem);
format.add(cancelItem);
pop.add(format);
//菜单栏
/*
file.add(newItem);
file.add(saveItem);
edit.add(copyItem);
edit.add(pasteItem);
edit.add(format);
//讲edit ,file添加到菜单中
mb.add(file);
mb.add(edit);
f.setMenuBar(mb);
*/
final Panel p =new Panel();
p.setPreferredSize(new Dimension(300,160));
p.add(pop);

//添加鼠标监听器
p.addMouseListener( new MouseAdapter()
{
public void mouseReleased(MouseEvent e)
{
//如果释放的是鼠标右键
if(e.isPopupTrigger())
{
pop.show(p,e.getX(),e.getY());
//输出事件源组件的坐标
System.out.println("e.getX = "+ e.getX());
System.out.println("e.getY = "+ e.getY());
}
}

}
);
f.add(p);
f.add(ta,BorderLayout.NORTH);

f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
f.pack();
f.setVisible(true);
}
public static void main(String[] args)
{
new PopupMenuTest().init();
}
}
展开
 我来答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式