java实训日志08

八、项目开发实现步骤

(十)创建应用程序类

1、创建app子包

  • net.zhanghao.student根包里创建app子包
    在这里插入图片描述

2、创建Application类

  • net.zhanghao.student.app包里创建Application
    在这里插入图片描述
package net.zhanghao.student.app;

import net.zhanghao.student.gui.LoginFrame;
import net.zhanghao.student.gui.MainFrame;
import net.zhanghao.student.gui.RegisterFrame;

/**
 * 功能:
 * 作者:张豪
 * 日期:2023年06月16日
 */
public class Application {
    public  static int id;
    public  static String username;
    public  static String password;
    public  static LoginFrame loginFrame;
    public  static MainFrame mainFrame;
    public  static RegisterFrame registerFrame;
}

  • 此时,三个窗口界面类还未创建,因此程序会报错:无法解析符号。
    在这里插入图片描述
  • net.zhanghao.student根包里创建gui子包(gui:garphical user interface - 图形用户界面),在里面创建三个类:LoginFrameMainFrameRegisterFrame

在这里插入图片描述

  • 此时,Application类就不会报错了
    在这里插入图片描述

(十一)创建窗口界面类

1、创建主界面窗口

  • 先来做一个空白的主界面窗口
  • 继承JFrame

在这里插入图片描述

  • 添加构造方法(带标题参数的构造方法)
    在这里插入图片描述

  • 在类的声明部分声明两个变量:状态服务变量与状态变量
    在这里插入图片描述

  • 在构造方法里调用initGul()方法
    在这里插入图片描述

  • 编写主方法,实例化主窗口


    // 初始化图形用户界面
    public void initGUI() {
        // 创建状态服务对象
        statusService = new StatusServiceImpl();
        // 获取状态信息
        Status status = statusService.findStatusById(1);
        // 设置窗口尺寸
        setSize(800, 600);
        // 设置窗口屏幕居中
        setLocationRelativeTo(null);
        // 设置窗口标题
        setTitle("学生信息管理系统" + status.getVersion());
        // 设置窗口可见
        setVisible(true);
        // 设置关闭窗口就退出整个程序
        //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 注册窗口监听器,创建窗口适配器,编写事件处理代码
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                int choice = JOptionPane.showConfirmDialog(MainFrame.this, "是否退出系统?",
                        "学生信息管理系统" + status.getVersion(), JOptionPane.YES_NO_CANCEL_OPTION);
                // 根据用户选择执行不同操作
                if (choice == JOptionPane.YES_OPTION) {
                    System.exit(0); // 正常退出应用程序
                } else {
                    // 从内存里卸载主窗口
                    MainFrame.this.dispose();
                    // 实例化主窗口
                    Application.mainFrame = new MainFrame("");
                }
            }
        });
    }

    // 主方法,实例化窗口
    public static void main(String[] args) {

        Application.mainFrame = new MainFrame("");
    }

}


  • 运行代码,查看结果
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值