1 public class MenuBarKnow extends JFrame
2 {
3 JMenuBar jMenuBar;
4
5 JMenu jMenuFile,jMenuEditor,jMenuAbout;
6 JMenu jMenuOpen;
7
8 JMenuItem jMenuItemSave,jMenuItemEditor,jMenuItemExit;
9 JMenuItem jMenuItemWord,jMenuItemTxt;
10
11 public MenuBarKnow()
12 {
13 init();
14 this.setLayout(null);
15 this.setSize(300, 400);
16 this.setTitle("你信不信,这个是menu!");
17 //设置setLocationRelativeTo应在setSize之后设置
18 this.setLocationRelativeTo(null);
19 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
20
21 //当this设置layout为null时,可以根据需要进行菜单的定位
22 // this.add(jMenuBar);
23 // jMenuBar.setBounds(10, 100, 300, 30);
24 //加入菜单的第二种方法:
25 this.setJMenuBar(jMenuBar);
26
27 jMenuBar.add(jMenuFile);jMenuBar.add(jMenuEditor);jMenuBar.add(jMenuAbout);
28
29 jMenuOpen.add(jMenuItemTxt);jMenuOpen.add(jMenuItemWord);
30
31 jMenuFile.add(jMenuOpen);
32 jMenuFile.add(jMenuItemSave);
33
34 jMenuEditor.add(jMenuItemEditor);
35
36 jMenuAbout.add(jMenuItemExit);
37
38 addListener();
39 }
40 public void init()
41 {
42 jMenuBar = new JMenuBar();
43
44 jMenuAbout = new JMenu("系统");
45 jMenuEditor = new JMenu("编辑");
46 jMenuFile = new JMenu("文件");
47 jMenuOpen = new JMenu("打开文件类型");
48
49 jMenuItemEditor = new JMenuItem("开始编辑");
50 jMenuItemExit = new JMenuItem("退出系统");
51 jMenuItemSave = new JMenuItem("保存");
52 jMenuItemTxt = new JMenuItem("Txt文件");
53 jMenuItemWord = new JMenuItem("Word文件");
54
55 //设置Item快捷键,方式一
56 jMenuItemEditor.setAccelerator(KeyStroke.getKeyStroke('s'));
57 //设置Item快捷键,方式二
58 jMenuItemExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,KeyEvent.ALT_MASK));
59 //设置Menu快捷键,这个快捷键必须和alt搭配使用
60 jMenuFile.setMnemonic('f');
61 /*****************************ToolBar的使用************************************/
62 //即:快捷按钮的使用,将JButton添加至JToolBar即可
63 }
64 public void addListener()
65 {
66 //设置Item的监听事件,以触发相应的事件发生
67 MenuItemActionListener menuItemActionListener = new MenuItemActionListener();
68 jMenuItemEditor.addActionListener(menuItemActionListener);
69 jMenuItemExit.addActionListener(menuItemActionListener);
70 jMenuItemSave.addActionListener(menuItemActionListener);
71 jMenuItemTxt.addActionListener(menuItemActionListener);
72 jMenuItemWord.addActionListener(menuItemActionListener);
73 }
74 public static void main(String[] args)
75 {
76 MenuBarKnow menuBarKnow = new MenuBarKnow();
77 menuBarKnow.setVisible(true);
78 }
79
80 private class MenuItemActionListener implements ActionListener
81 {
82 @Override
83 public void actionPerformed(ActionEvent e)
84 {
85 JMenuItem jMenuItem = (JMenuItem) e.getSource();
86 JOptionPane.showMessageDialog(null, jMenuItem.getText());
87 }
88 }
89 }