Swing编程菜单的基本用法

2012-02-18 17:58:49|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:Java, Swing|来源:唯设编程网

Swing程序经常需要使用菜单几种管理用户操作接口,本文首先介绍了在Swing程序添加菜单的基本流程,然后介绍与菜单相关的一些基本对象:菜单条(JMenuBar)、菜单(JMenu)、菜单项(JMenuItem),本文还介绍了向菜单条添加事件的方法。
向Swing程序添加菜单的基本流程如下:

1.定义一个JMenuBar菜单条对象

final JMenuBar menuBar = new JMenuBar();// 创建菜单栏对象

2.向定义的JMenuBar菜单条对象添加JMenu菜单对象;

		// 2_3、系统菜单栏
		menuBar.add(MenuControler.makeMenu(
				new JMenu("系统"), 
				new Object[] { 
					new SystemSetting().getMenu(),
					"重置现金余额",
					null,
					"退出系统" }, 
				new MenuItemListener(this)));
		// 2_2、查看菜单栏
		menuBar.add(MenuControler.makeMenu(
				new JMenu("查看"),
				new Object[] {
						"统计图表",
						"历史数据",						
						null,
						new StyleMenu(this).getMenu()},
				new MenuItemListener(this)));

3.调用JFrame对象的setJMenuBar方法将对应的菜单条设置成创建JMenuBar:

	setJMenuBar(CreateMenuBar());// 将菜单栏对象添加到窗体的菜单栏中	

4.构建菜单的makeMenu静态方法补充说明:

	/**
	 * 构建一个菜单
	 * @param parent:菜单名称
	 * @param items:菜单子项目
	 * @param target:项目监听器类
	 * @return
	 */
	public static JMenu makeMenu(Object parent,Object[] items,Object target){
		JMenu menu=null;
		if(parent instanceof JMenu)
			menu=(JMenu)parent;
		else if(parent instanceof String)
			menu=new JMenu((String)parent);
		else
			return null;	
		for(int i=0;i<items.length;i++){
			if(items[i]==null)
				menu.addSeparator();	//增加分隔线
			else
				menu.add(makeMenuItem(items[i],target));	//创建菜单项目
		}
		return menu;
	}

基本的菜单相关对象补充说明:

一、菜单条(JMenubar)

JFrame类有一个将菜单条放置到窗口中的方法:setMenuBar(JMenuBar bar);该方法将菜单条添加到窗口的顶端。
注意:只能向窗口添加一个菜单条。

<12>
发表评论0条 】
网友评论(共?条评论)..
Swing编程菜单的基本用法