learning java AWT 右键菜单
发布时间:2020-12-15 05:31:26 所属栏目:Java 来源:网络整理
导读:import java.awt.* ;import java.awt. event .* ; public class SimpleMenu { private Frame f = new Frame( " test " ); private MenuBar mb = new MenuBar(); Menu file = new Menu( " file " ); Menu edit = new Menu( " edit " ); PopupMenu pop = new P
import java.awt.*; import java.awt.event.*; public class SimpleMenu { private Frame f = new Frame("test"); private MenuBar mb = new MenuBar(); Menu file = new Menu("file"); Menu edit = new Menu("edit"); PopupMenu pop = new PopupMenu(); MenuItem crateItem = new MenuItem("create"); MenuItem saveItem = new MenuItem("save"); MenuItem exitItem = new MenuItem("exit",new MenuShortcut(KeyEvent.VK_X)); CheckboxMenuItem autoWrap = new CheckboxMenuItem("autoWrap"); MenuItem copyItem = new MenuItem("copy"); MenuItem pasteItem = new MenuItem("paste"); Menu format = new Menu("format"); /*ctrl + shift + / */ MenuItem commentItem = new MenuItem("comment",new MenuShortcut(KeyEvent.VK_SLASH,true)); MenuItem cancelItem = new MenuItem("cancelComment"); private TextArea ta = new TextArea(6,40); public void init(){ ActionListener menuListener = e -> { var cmd = e.getActionCommand(); ta.append(" click " + cmd + " menu " + " n "); if(cmd.equals("exit")){ System.exit(0); } }; commentItem.addActionListener(menuListener); exitItem.addActionListener(menuListener); pop.add(autoWrap); pop.addSeparator(); pop.add(copyItem); pop.add(pasteItem); pop.add(new MenuItem("-")); pop.add(format); final Panel p = new Panel(); p.setPreferredSize(new Dimension(300,160)); p.add(pop); p.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()){ pop.show(p,e.getX(),e.getY()); } } }); // file.add(crateItem); // file.add(saveItem); // file.add(exitItem); // // edit.add(autoWrap); // 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.add(p); f.setMenuBar(mb); f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); f.add(ta,BorderLayout.NORTH); f.pack(); f.setVisible(true); } public static void main(String[] args) { new SimpleMenu().init(); } } output: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |