GUI JMenu 下拉菜单

 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 }

运行结果:

原文地址:https://www.cnblogs.com/mianyang0902/p/10889156.html