上篇文章的示例中可以看出在顶层容器上是如何添加菜单的。那么在菜单中的空白处是否能够添加基本组件呢?看下面一段代码:
publicclassBWFSwingMenu {
staticintwidth=300;
staticintheight=200;
publicstaticvoidmain(String[] args){
JFrame jf=newJFrame();
jf.setSize(width,height);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setTitle("学生管理系统");
JMenuBar menuBar1=newJMenuBar();//添加菜单条组件
jf.setJMenuBar(menuBar1);//将菜单条添加到顶层容器中
JMenu menu1=newJMenu("文件");//设置菜单组件
JMenu menu2=newJMenu("编辑");
JMenu menu3=newJMenu("视图");
menuBar1.add(menu1);//将菜单组件添加到菜单条组件中
menuBar1.add(menu2);
menuBar1.add(menu3);
JMenuItem item1=newJMenuItem("打开");//创建菜单项组件
JMenuItem item2=newJMenuItem("保存");
JMenuItem item3=newJMenuItem("打印");
JMenuItem item4=newJMenuItem("退出");
menu1.add(item1);//将菜单项组件添加到相应的菜单组件中去
menu1.add(item2);
menu1.addSeparator();//添加分割线组件
menu1.add(item3);
menu1.addSeparator();
menu1.add(item4);
JButton button=newJButton("测试按钮");
JPanelpanel=newJPanel();
panel.add(button);
jf.setContentPane(panel);
jf.setVisible(true);
}
}
上面程序的运行结果如下图所示:
上面的实例主要是在顶层容器中使用方法setJMenuBar()嵌入菜单条,再使用方法setContentPane()嵌入中间容器。按照这样的方式,就可以形成一个完整的应用程序界面。