八、项目开发实现步骤
(十)创建应用程序类
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 - 图形用户界面),在里面创建三个类:LoginFrame
、MainFrame
与RegisterFrame
- 此时,
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("");
}
}
- 运行代码,查看结果