package com.awt; import java.awt.CheckboxMenuItem; import java.awt.Frame; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.PopupMenu; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class SimpleMenu { private Frame f = new Frame("测试"); private MenuBar mb = new MenuBar(); PopupMenu pop = new PopupMenu(); Menu file = new Menu("文件"); Menu edit = new Menu("编辑"); MenuItem newItem = new MenuItem("新建"); MenuItem saveItem = new MenuItem("保存"); MenuItem exitItem = new MenuItem("退出", new MenuShortcut(KeyEvent.VK_X)); CheckboxMenuItem autoWrap = new CheckboxMenuItem("自动换行"); MenuItem copyItem = new MenuItem("复制"); MenuItem pasteItem = new MenuItem("粘贴"); Menu format = new Menu("格式"); MenuItem commentItem = new MenuItem("注释", new MenuShortcut( KeyEvent.VK_SLASH, true)); MenuItem cancelItem = new MenuItem("取消注释"); private TextArea ta = new TextArea(30, 100); // Menu listener ActionListener menuListener = new ActionListener() { public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); ta.append("单击'" + cmd + "'菜单" + "\n"); if (cmd.equals("退出")) { System.exit(0); } } }; public void init() { commentItem.addActionListener(menuListener); exitItem.addActionListener(menuListener); file.add(newItem); file.add(saveItem); file.add(exitItem); edit.add(autoWrap); edit.addSeparator(); edit.add(copyItem); edit.add(pasteItem); edit.add(new MenuItem("-")); edit.add(format); format.add(commentItem); format.add(cancelItem); pop.addSeparator(); pop.add(new MenuItem("-test-")); ta.add(pop); ta.addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { pop.show(ta, e.getX(), e.getY()); } } }); mb.add(file); mb.add(edit); f.setMenuBar(mb); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { ta.append("用户试图关闭窗口!\n"); System.exit(0); } }); f.add(ta); f.pack(); f.setVisible(true); } public static void main(String[] args) { new SimpleMenu().init(); } }
AWT 小例子
猜你喜欢
转载自isitlikethat.iteye.com/blog/2200690
今日推荐
周排行