22.8 菜单的组件设计
菜单的设计是每个窗体必须要注意的事情,因为设计好的菜单,可以让使用者直观地了解系统的功能。我们通过Word中的菜单,就可以大概知道Word能完成哪些功能。
【实例22.13】下面通过一个实例,学习如何在Swing中创建一个菜单。
01 import javax.swing.*;
02 import java.awt.*;
03 ///创建一个顶层框架类
04 ///WIDTH参数是指框架的宽度
05 ///HEIGHT参数是指框架的长度
06 ///setTitle用来设置框架左上角的标题
07 ///setSize用来设置框架的大小
08 ///通过ToolKit类中的方法,将顶层框架放置到屏幕中央
09 ///通过构造菜单条对象menubar1,菜单对象menu1、menu2、menu3及菜单项对象来构造一个菜单
10 ///创建一个容器类对象p并且将菜单对象添加到其中
11 ///将p添加到顶层框架
12 public class Swingtest12
13 {
14 static final int WIDTH=300;
15 static final int HEIGHT=200;
16 public static void main(String[]args)
17 {
18 JFrame jf=new JFrame();
19 jf.setSize(WIDTH, HEIGHT);
20 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
21 jf.setTitle("学生管理系统");
22 Toolkit kit=Toolkit.getDefaultToolkit();
23 Dimension screenSize=kit.getScreenSize();
24 int width=screenSize.width;
25 int height=screenSize.height;
26 int x=(width-WIDTH)/2;
27 int y=(height-HEIGHT)/2;
28 jf.setLocation(x, y);
29 JMenuBar menubar1=new JMenuBar();
30 jf.setJMenuBar(menubar1);
31 JMenu menu1=new JMenu("文件");
32 JMenu menu2=new JMenu("编辑");
33 JMenu menu3=new JMenu("视图");
34 JMenu menu4=new JMenu("帮助");
35 menubar1.add(menu1);
36 menubar1.add(menu2);
37 menubar1.add(menu3);
38 JMenuItem item1=new JMenuItem("打开");
39 JMenuItem item2=new JMenuItem("保存");
40 JMenuItem item3=new JMenuItem("打印");
41 JMenuItem item4=new JMenuItem("退出");
42 menu1.add(item1);
43 menu1.add(item2);
44 menu1.addSeparator();
45 menu1.add(item3);
46 menu1.addSeparator();
47 menu1.add(item4);
48 jf.show();
49 }
50 }
【代码说明】第29行创建一个菜单栏,第31~34行创建4个菜单,第35~37行将菜单添加到菜单栏。第38~41行设计4个菜单项,第42~47将菜单项添加到菜单中,其中第44行表示添加一个间隔条。
【运行效果】运行结果如图22.14所示。
图 22.14 添加菜单