- package it.cast;
- import java.awt.FlowLayout;
- import java.awt.Frame;
- import java.awt.Menu;
- import java.awt.MenuBar;
- import java.awt.MenuItem;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- public class CaiDanDemo {
- /*
- * 多级菜单制作
- */
- public static void main(String[] args) {
- Frame frame = new Frame("坚持到无能为力,努力到感动自己");
- // 设置窗口属性X Y H W
- frame.setBounds(400, 200, 400, 300);
- // 设置流式布局
- frame.setLayout(new FlowLayout());
- // 创建菜单栏
- MenuBar bar = new MenuBar();
- // 创建菜单
- Menu menu = new Menu("文件");
- Menu menu1 = new Menu("一级菜单1");
- Menu menu2 = new Menu("一级菜单2");
- // 创建菜单项
- MenuItem item11 = new MenuItem("一级菜单11");
- MenuItem item12 = new MenuItem("一级菜单12");
- MenuItem item13 = new MenuItem("一级菜单13");
- MenuItem item21 = new MenuItem("一级菜单21");
- MenuItem item22 = new MenuItem("一级菜单22");
- MenuItem item23 = new MenuItem("一级菜单23");
- MenuItem item3 = new MenuItem("退出系统");
- // 菜单添加菜单项
- menu.add(menu1);
- menu.add(menu2);
- menu.add(item3);
- menu1.add(item11);
- menu1.add(item12);
- menu1.add(item13);
- menu2.add(item21);
- menu2.add(item22);
- menu2.add(item23);
- // 菜单栏添加菜单
- bar.add(menu);
- // 窗口添加菜单栏
- frame.setMenuBar(bar);
- item3.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.exit(0);
- }
- });
- // 窗口显示化
- frame.setVisible(true);
- // 关闭窗口,时间监听机制.手动关闭
- // 关闭窗口调用addWindowListener()方法,需要关闭就需要用WindowListener接口中的关闭方法是windowClosing()
- // 但是接口实现需要重写里面的所有方法,太多的话比较麻烦.所以我们调用这个接口的子类,通过子类重写我们需要用的那个方法就可以,这就是适配器
- frame.addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- }
- }
复制代码
|
|