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 }