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