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);该方法将菜单条添加到窗口的顶端。
注意:只能向窗口添加一个菜单条。