Java开发GUI之Menu菜单

Java开发GUI之Menu菜单

    在MacOS上的软件都有一个菜单栏,会浮现在屏幕顶部,Java的awt包中也提供了构建菜单功能的相关组件,示例代码如下:

	static void MenuTest(){
		Frame frame = new Frame("Menu");
        //创建菜单栏
		MenuBar menuBar = new MenuBar();
        //设置菜单栏
		frame.setMenuBar(menuBar);
        //创建菜单
		Menu m1 = new Menu("文件", true);
        //向菜单栏中添加菜单
		menuBar.add(m1);
        //创建选项
		MenuItem menuItem1 = new MenuItem("新建");
		MenuItem menuItem2 = new MenuItem("打开");
        //向菜单中添加选项
		m1.add(menuItem1);
		m1.add(menuItem2);
		
		Menu m2 = new Menu("编辑", true);
		menuBar.add(m2);
		MenuItem menuItem3 = new MenuItem("复制");
		MenuItem menuItem4 = new MenuItem("粘贴");
		m2.add(menuItem3);
		m2.add(menuItem4);
		
		Menu m3 = new Menu("帮助", true);
		menuBar.setHelpMenu(m3);
		MenuItem menuItem5 = new MenuItem("问询");
		MenuItem menuItem6 = new MenuItem("联系我们");
		m3.add(menuItem5);
		m3.add(menuItem6);
		
		frame.pack();
		frame.show();
	}

效果如下:

MenuBar用来创建菜单栏,其中常用方法如下:

//构造方法
public MenuBar();
//获取帮助菜单
public Menu getHelpMenu();
//设置帮助菜单
public void setHelpMenu(Menu m);
//添加菜单
public Menu add(Menu m);
//根据下标移除菜单
public void remove(int index);
//移除一个菜单
public void remove(MenuComponent m);
//获取菜单栏中菜单个数
public int getMenuCount();
//获取菜单栏中菜单个数 已经弃用 使用上面的方法
public int countMenus();
//根据下标获取菜单对象
public Menu getMenu(int i);

Menu类为菜单对象,其中可以添加选项类MenuItem对象,Menu类中常用方法如下:

//构造函数
public Menu();
//label参数设置菜单的标题
public Menu(String label);
//布尔值参数设置是否为tear-off菜单
public Menu(String label, boolean tearOff);
//获取菜单是否为tear-off菜单
public boolean isTearOff();
//获取选项个数
public int getItemCount();
//获取选项个数 已经弃用 使用上面方法
public int countItems();
//获取某个选项对象
public MenuItem getItem(int index);
//添加一个菜单选项
public MenuItem add(MenuItem mi);
//添加一个指定标题的菜单项
public void add(String label);
//插入一个菜单项
public void insert(MenuItem menuitem, int index);
//插入一个指定标题的菜单项
public void insert(String label, int index) ;
//添加分割线
public void addSeparator();
//插入分割线
public void insertSeparator(int index);
//根据下标移除一个选项
public void remove(int index);
//移除一个选项
public void remove(MenuComponent item);
//移除所有选项
public void removeAll() ;

下面是MenuItem类的方法解析:

//构造方法
public MenuItem();
//label参数设置选项标题
public MenuItem(String label);
//MenuShortcut为设置快捷键
public MenuItem(String label, MenuShortcut s);
//获取选项标题
public String getLabel() ;
//设置选项标题
public synchronized void setLabel(String label);
//获取选项是否有效
public boolean isEnabled();
//设置选项
public synchronized void setEnabled(boolean b);
//获取快捷键
public MenuShortcut getShortcut();
//设置快捷键
public void setShortcut(MenuShortcut s);
//删除快捷键
public void deleteShortcut();
//添加事件监听
public synchronized void addActionListener(ActionListener l);
//移除事件监听
public synchronized void removeActionListener(ActionListener l);
//获取所有监听者
public synchronized ActionListener[] getActionListeners();

 

转载于:https://my.oschina.net/u/2340880/blog/920186

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值