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.8 菜单的组件设计 - 图1

图 22.14 添加菜单