八、项目开发步实现骤
(十)创建应用程序类
- 创建应用程序类,存在全局数据,所有的窗口界面都可以共享应用程序类里存放的数据。
1、在net.jyl.student
包里创建app
子包
![请添加图片描述](https://img-blog.csdnimg.cn/f8310868faab4abab683374efdda084d.png)
package net.jyl.student.app;
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.jyl.student
根包里创建gui
子包,在里面创建三个类LoginFrame、RegisterFrame和MainFrame ![请添加图片描述](https://img-blog.csdnimg.cn/0c82423da22e4017917b6c9c0fbe8822.png)
- 此时,Application类就不会报错了
![请添加图片描述](https://img-blog.csdnimg.cn/88f42d7e4e66420fb924bb3644e12da7.png)
(十一)创建窗口界面类
1、编写主界面窗口
- 先来做一个空的主界面窗口
![请添加图片描述](https://img-blog.csdnimg.cn/d39cf8b68054434eaa4cf8f39bee03e7.png)
(一)做一个空白主界面
1.继承
![请添加图片描述](https://img-blog.csdnimg.cn/cadca1cd65544fa8914f8b8c812599a1.png)
public class MainFrame extends JFrame {
private StatusService statusService;
public MainFrame(String title) {
super(title);
initGUI();
}
2.创建初始化图像
![请添加图片描述](https://img-blog.csdnimg.cn/ad91ff465c824e74aa38065648c81ecf.png)
public class MainFrame extends JFrame {
private StatusService statusService;
public MainFrame(String title) {
super(title);
initGUI();
}
public void initGUI() {
statusService = new StatusServiceImpl();
Status status = statusService.findStatusById(1);
setSize(800, 600);
setLocationRelativeTo(null);
setTitle("学生信息管理系统" + status.getVersion());
setVisible(true);
3.在构造方法中调用
![请添加图片描述](https://img-blog.csdnimg.cn/79d2068c20d8465a95e1730dab3230ca.png)
public MainFrame(String title) {
super(title);
initGUI();
}
public void initGUI() {
4.编写主方法
![请添加图片描述](https://img-blog.csdnimg.cn/2e5d304d49794fda92e6dbc1cf7b374a.png)
5.运行程序,看效果
![请添加图片描述](https://img-blog.csdnimg.cn/c00187ebfbdb4c0f89441ebef2eb041f.jpeg)
public MainFrame(String title) {
super(title);
initGUI();
}
public void initGUI() {
statusService = new StatusServiceImpl();
Status status = statusService.findStatusById(1);
setSize(800, 600);
setLocationRelativeTo(null);
setTitle("学生信息管理系统" + status.getVersion());
setVisible(true);
setResizable(false);
(二)退出时弹出消息框询问用户
![请添加图片描述](https://img-blog.csdnimg.cn/4928006cf825408aa7498ed8b0a726c1.jpeg)
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
int choice = JOptionPane.showConfirmDialog(MainFrame.this,"你是否要退出系统???",
"学生信息管理系统" + status.getVersion(),JOptionPane.YES_NO_OPTION);
if(choice == JOptionPane.YES_OPTION){
System.exit(0);
}else {
MainFrame.this.dispose();
Application.mainFrame = new MainFrame("");
}
}
});
}
![请添加图片描述](https://img-blog.csdnimg.cn/ebc3391e9c79421ab0c701bbc05bb157.jpeg)
2、创建用户登录窗口LoginFrame
![请添加图片描述](https://img-blog.csdnimg.cn/fa68c6699e784f9d9287d0b1252178df.png)