package MenuDemo;
import java.awt.BorderLayout;
import java.awt.Checkbox;
import java.awt.CheckboxMenuItem;
import java.awt.Component;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
public class MenuDem {
private Frame f = new Frame("测试");
private TextArea ta = new TextArea();
Menu file = new Menu("文件");
MenuItem exit = new MenuItem("退出", new MenuShortcut(KeyEvent.VK_E, true));// 子项
Menu edit = new Menu("编辑");
MenuItem auto = new MenuItem("自动换行");
// edit.addSeparator();//分割线 添加的位置不对,应该在下面添加
MenuItem copy = new MenuItem("复制", new MenuShortcut(KeyEvent.VK_C, true));
MenuItem getCopy = new MenuItem("粘贴", new MenuShortcut(KeyEvent.VK_V, true));
// edit.addSeparator();
Menu format = new Menu("格式");// 有向右的箭头:二级菜单
MenuItem zhu = new MenuItem("注释");
MenuItem zhuAuto = new MenuItem("自动注释");
class listener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String menuString = e.getActionCommand();// 是ActionEvent类型的一个参数e的方法
ta.append("用户单击了“" + menuString + "”项\n");
if (menuString.equals("退出")) {
System.exit(0);
}
}
}
public void init() {
// 按关系添加,将menuitem增加到menu中
file.add(exit);
edit.add(auto);
edit.addSeparator();// 分割线*--*----在此处添加,才能显示正确
edit.add(copy);
edit.add(getCopy);
edit.addSeparator();// 分割线
edit.add(format);
format.add(zhu);
format.add(zhuAuto);
edit.add(auto);
edit.add(auto);
// 将mune加到menubar中
MenuBar bar = new MenuBar();
bar.add(file);
bar.add(edit);
// 将menubar加到窗体中,通过setMenuBar()
f.setMenuBar(bar);
//
f.add(ta, BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
// 绑定事件
exit.addActionListener(new listener());
auto.addActionListener(new listener());
copy.addActionListener(new listener());
getCopy.addActionListener(new listener());
edit.addActionListener(new listener());
file.addActionListener(new listener());
edit.addActionListener(new listener());
format.addActionListener(new listener());
}
public static void main(String[] args) {
new MenuDem().init();
}