基于java的AWT编程实现一个简单的菜单条

it2025-04-02  11

基于java的AWT编程实现一个简单的菜单条

package com.awt; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class SimpleMenu { private Frame f = new Frame("测试窗口"); private MenuBar mb = new MenuBar(); Menu file = new Menu("文件"); Menu edit = new Menu("编辑"); MenuItem newItem = new MenuItem("新建"); MenuItem saveItem = new MenuItem("保存"); //创建exitItem菜单项,指定使用"Ctrl+X"快捷键 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("格式"); //创建commentItem菜单项 MenuItem commentItem = new MenuItem("注释",new MenuShortcut(KeyEvent.VK_SLASH,true)); MenuItem cancelItem = new MenuItem("取消注释"); private TextArea ta = new TextArea(6,40); public void init() { //以Lambda表达式创建菜单事件监听器 ActionListener menuListener = e->{ String cmd = e.getActionCommand(); ta.append("单击" + cmd +"菜单"+ "\n"); if(cmd.equals("退出")) { System.exit(0); } }; //为commentItem菜单项添加事件监听器 commentItem.addActionListener(menuListener); exitItem.addActionListener(menuListener); //为file菜单添加菜单项 file.add(newItem); file.add(saveItem); file.add(exitItem); file.add(autoWrap); //为edit菜单添加菜单项 edit.addSeparator(); edit.add(copyItem); edit.add(pasteItem); format.add(commentItem); format.add(cancelItem); edit.add(new MenuItem("-")); edit.add(format); mb.add(file); mb.add(edit); f.setMenuBar(mb); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); f.add(ta); f.pack(); f.setVisible(true); } public static void main(String[] args) { new SimpleMenu().init(); } }
最新回复(0)