java菜单添加的问题

末日Mooner 发布于 2013/05/04 12:46
阅读 670
收藏 0

我想实现菜单栏文件,编辑两个菜单,还有一个右键菜单,但是注意下面的代码,我添加了注释掉的菜单下面的几行代码,为什麽会出现点击右键的时候只剩下一行自动换行了呢?而且菜单栏都没显示出来求答疑解惑

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();

}

}


加载中
0
小猫王
小猫王
java桌面开发忘完了,  等高手...
返回顶部
顶部