zoukankan      html  css  js  c++  java
  • Java -- AWT 菜单建立, Menu, 右键菜单

    1. Menu类结构

    2. 菜单示例:  MenuBar容器中可以装Menu,Menu容器中可以装MenuItem。

    public class SimpleMenu {
    
    	Frame f = new Frame("test Menu");
    	MenuBar mb = new MenuBar();
    	Menu file = new Menu("File");
    	Menu edit = new Menu("Edit");
    	MenuItem newItem = new MenuItem("New");
    	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");
    	MenuItem commentItem = new MenuItem("Comment", new MenuShortcut(KeyEvent.VK_SLASH,true));
    	MenuItem cancelItem = new MenuItem("non-Comment");
    	TextArea ta = new TextArea(6, 40);
    	
    	public void init()
    	{
    		ActionListener menuListener = new ActionListener() {
    			
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				// TODO Auto-generated method stub
    				String cmd = arg0.getActionCommand();
    				ta.append("Click" + cmd + "menu
    " );
    				if( cmd.equals("cancel") )
    				{
    					System.exit(0);
    				}
    			}
    		};
    		
    		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);
    		format.add(commentItem);
    		format.add(cancelItem);
    		edit.add(new MenuItem("-"));
    		edit.add(format);
    		mb.add(file);
    		mb.add(edit);
    		
    		f.addWindowListener(new WindowAdapter() {
    			public void windowClosing(WindowEvent e)
    			{
    				System.exit(0);
    			}
    		});
    		f.setMenuBar(mb);
    		f.add(ta);
    		f.pack();
    		f.setVisible(true);		
    	}
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println("SimpleMenu");
    		new SimpleMenu().init();
    	}
    }
    


    添加右键菜单,上面的程序修改一下, 可以变换TextArea的右键菜单, 其他控件也可以用这种方法添加右键菜单。

    	PopupMenu pop = new PopupMenu(); //右键菜单
    
    		pop.add(autoWrap);
    		pop.addSeparator();
    		pop.add(copyItem);
    		pop.add(pasteItem);
    		ta.add(pop);
    		ta.addMouseListener(new MouseAdapter() {   //鼠标事件监听
    			public void mouseReleased(MouseEvent e)
    			{
    				if( e.isPopupTrigger() )
    				{
    					pop.show(ta, e.getX(), e.getY()); //显示右键菜单
    				}				
    			}					
    		});		


     

  • 相关阅读:
    Maven使用教程
    [转载]DIV CSS设计时IE6、IE7、FF 与兼容性有关的特性
    ASP.NET MVC 开篇
    基于WebForm+EasyUI的业务管理系统形成之旅 -- ParamQueryGrid行、列合并(Ⅸ)
    基于WebForm+EasyUI的业务管理系统形成之旅 -- 施工计划查询(Ⅷ)
    浅析WCF与WebService、WPF与Silverlight 区别
    LeetCode-3Sum Smaller
    LeetCode-Different Ways to Add Parentheses
    LeetCode-Count Univalue Subtrees
    LeetCode-Decode String
  • 原文地址:https://www.cnblogs.com/xj626852095/p/3648177.html
Copyright © 2011-2022 走看看