zoukankan      html  css  js  c++  java
  • Java swing GUI小程序入门 之天天美食外卖系统(1)

    环境:java1.8+ Mysql8.0.22 +idea
    第一步。先生成菜单对象并定义初始化函数将主框架初始化

    //生成菜单栏对象
    JMenuBar MenuBar = new JMenuBar();
    //生成并定义菜单选项
    JMenu menu1 =new JMenu("商品管理");
    JMenu menu2 =new JMenu("订单记录");
    JMenu menu3 =new JMenu("用户管理");
    JMenu menu4 =new JMenu("系统帮助");
    JMenu menu5 =new JMenu("退出系统");
    //定义各级菜单的子项
    JMenuItem menu1Item01 =new JMenuItem("上架商品");
    JMenuItem menu1Item02 =new JMenuItem("下架商品");

    JMenuItem menu3Item01 =new JMenuItem("删除用户");
    JMenuItem menu3Item02 =new JMenuItem("修改用户");
    JMenuItem menu3Item03 =new JMenuItem("查询用户");
    JMenuItem menu3Item04 =new JMenuItem("添加用户");

    JMenuItem menu5Item01 =new JMenuItem("保存preview");
    JMenuItem menu5Item02 =new JMenuItem("不保存printOUT");
     
    第二步。将菜单组件组装成菜单栏
    //这里为了方便直接写在了主类的构造函数里

    public MainFrame(){ 
    super();
    //将菜单选项与菜单栏绑定
    MenuBar.add(menu1);
    MenuBar.add(menu2);
    MenuBar.add(menu3);
    MenuBar.add(menu4);
    MenuBar.add(menu5);
    //将菜单子项与对应菜单选项绑定
    menu1.add(menu1Item01);
    menu1.add(menu1Item02);

    menu3.add(menu3Item01);
    menu3.add(menu3Item02);
    menu3.add(menu3Item03);
    menu3.add(menu3Item04);

    menu5.add(menu5Item01);
    menu5.add(menu5Item02);
    this.setJMenuBar(MenuBar);//将菜单初始化
    //注册监听事件
    menu1Item01.addActionListener(this);
    menu1Item02.addActionListener(this);
    menu3Item01.addActionListener(this);
    menu3Item02.addActionListener(this);
    menu3Item03.addActionListener(this);
    menu3Item04.addActionListener(this);
    menu5Item01.addActionListener(this);
    menu5Item02.addActionListener(this);
    //设置icon
    Icon picture = new ImageIcon("a2.JPG");
    JLabel logo = new JLabel();
    logo.setIcon(picture);
    this.add(logo);
    //设置标题
    this.setTitle("天天美食外卖系统");
    //设置窗口
    this.setSize(898,550);
    this.setVisible(true);
    this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//关闭系统后结束程序
    }
    第三步。另外为了实现事件监听,主类实现了ActionListener(public class MainFrame extends JFrame implements ActionListener)接口所以要重写接口内的抽象方法即actionPerfoemed()来对菜单选项进行监听
    @Override
    public void actionPerformed(ActionEvent e) {
    if(e.getSource()==menu5Item01){
    System.out.println("成功了!");
    System.exit(0);
    }else if (e.getSource()==menu1Item01){

    }else if (e.getSource()==menu1Item02){

    }else if (e.getSource()==menu3Item01){

    }else if (e.getSource()==menu3Item02){

    }else if (e.getSource()==menu3Item03){

    }else if (e.getSource()==menu3Item04){

    }else if (e.getSource()==menu5Item02){
    System.out.println("已退出");
    System.exit(0);
    }


    }
    综上便可实现主框架的大致内容,监听的部分代码还有待完善,系统整体功能也有待完善。下面写个测试函数测试一下,截图如下

     有可能会遇到菜单选项乱码的问题,可以参考我的上篇随笔来解决。

  • 相关阅读:
    使用keepalived实现双机热备
    MYSQL ERROR CODE 错误编号的意义
    Mysql slow query log
    eclipse svn 分支合并到主干
    Timer的schedule和scheduleAtFixedRate方法的区别解析
    Java内部类引用外部类中的局部变量为何必须是final问题解析
    nginx中有关命令和日志切割,配置文件加载的详细阐述
    流媒体中ffmpeg 命令的使用
    windows下搭建nginx服务器及实现nginx支持https配置流程
    mysql 中sql语句的执行顺序
  • 原文地址:https://www.cnblogs.com/qkq505/p/14763470.html
Copyright © 2011-2022 走看看