1 package swing; 2 import java.awt.*; 3 import javax.swing.*; 4 import java.awt.event.*; 5 import javax.swing.event.*; 6 public class menu extends JFrame{ 7 Container container; 8 JMenuItem item1,item2,item3; 9 public menu() { 10 this.setTitle("欢迎使用图形用户界面");//设置标题 11 container=this.getContentPane();//获取默认的内容窗格 12 container.setLayout(new BorderLayout());//设置布局模式 13 JMenuBar menuBar=new JMenuBar();//创建菜单栏 14 buildMainMenu(menuBar); 15 this.setJMenuBar(menuBar);//把菜单栏挂到该窗口 16 this.show(); 17 this.setSize(600,450); 18 } 19 protected void buildMainMenu(JMenuBar menuBar) { 20 JMenu fileMenu=new JMenu("文件"); 21 JMenuItem exit=new JMenuItem("退出"); 22 exit.addActionListener(new ActionListener() {//为事件注册 23 public void actionPerformed(ActionEvent e) { 24 setVisible(false); 25 dispose(); 26 System.exit(0); 27 } 28 }); 29 fileMenu.add(exit);//把退出菜单添加到菜单上 30 menuBar.add(fileMenu);//把文件菜单添加到菜单栏上 31 JMenu demoMenu=new JMenu("组件使用演示程序"); 32 item1=new JMenuItem("JCheckBox使用"); 33 item2=new JMenuItem("JList使用"); 34 item3=new JMenuItem("JTable使用"); 35 item1.addActionListener(new ItemsActionListener()); 36 item2.addActionListener(new ItemsActionListener()); 37 item3.addActionListener(new ItemsActionListener());//为事件注册 38 demoMenu.add(item1); 39 demoMenu.add(item2); 40 demoMenu.add(item3);//把菜单项添加到查询菜单上 41 menuBar.add(demoMenu);//查询菜单添加到菜单栏上 42 JMenu helpMenu=new JMenu("帮助"); 43 JMenuItem aboutmenu=new JMenuItem("关于"); 44 aboutmenu.addActionListener(new AboutActionListener());//为事件注册 45 helpMenu.add(aboutmenu);//把关于菜单添加到帮助菜单上 46 menuBar.add(helpMenu);//把帮助菜单添加到菜单栏上 47 } 48 class ItemsActionListener implements ActionListener{ 49 public void actionPerformed(ActionEvent e) { 50 if(e.getSource()==item1) 51 new sandemo2(); 52 else if(e.getSource()==item2) 53 new sandemo(); 54 else if(e.getSource()==item3) 55 new table(); 56 57 } 58 } 59 class AboutActionListener implements ActionListener{ 60 public void actionPerformed(ActionEvent e) { 61 62 } 63 } 64 public static void main(String []args) { 65 new menu(); 66 } 67 68 }
运行结果: