AWT 小例子

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

}

猜你喜欢

转载自isitlikethat.iteye.com/blog/2200690
AWT