目录
1.在net.lbj.student包里创建app子包在app包内创建Application类
2.创建net.lbj.student.gui包,在里面创建三个类LoginFrame、RegisterFrame和MainFrame
一、创建应用程序类
创建应用程序类,存在全局数据,所有的窗口界面都可以共享应用程序类里存放的数据。
1.在net.lbj.student包里创建app子包在app包内创建Application类
在app包内创建Application类
LoginFrame、RegisterFrame和MainFrame三个窗口界面类还未创建,因此程序会报错:无法解析符号。
2.创建net.lbj.student.gui包,在里面创建三个类LoginFrame、RegisterFrame和MainFrame
二、窗口界面类
1.主界面窗口MainFrame
最后修改过的MainFrame代码:
package net.lbj.student.gui;
import net.lbj.student.app.Application;
import net.lbj.student.bean.Status;
import net.lbj.student.service.StatusService;
import net.lbj.student.service.impl.StatusServiceImpl;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
/**
* 主界面窗口
* 通过菜单系统调用各功能模块
*/
public class MainFrame extends JFrame {
private JMenuBar mnbMain; // 主菜单栏
private JMenu mnuSet; // 设置菜单
private JMenuItem mniSetCollegeInfo;
private JMenuItem mniSetStatusBar;
private JMenuItem mniChangePassword;
private JMenuItem mniExit;
private JMenu mnuOperate; // 操作菜单
private JMenuItem mniAddStudent;
private JMenuItem mniBrowseStudent;
private JMenuItem mniEditStudent;
private JMenu mnuDelStu; // 删除菜单
private JMenuItem mniDelStudentById;
private JMenuItem mniDelStudentsByClass;
private JMenuItem mniDelStudentsByDepartment;
private JMenu mnuFind; // 查询菜单
private JMenuItem mniFindStudentById;
private JMenuItem mniFindStudentsByName;
private JMenuItem mniFindStudentsByClass;
private JMenuItem mniFindStudentsByDepartment;
private JMenu mnuCount; // 统计菜单
private JMenuItem mniCountStudentsBySex;
private JMenuItem mniCountStudentsByClass;
private JMenuItem mniCountStudentsByDepartment;
private JMenu mnuHelp; // 帮助菜单
private JMenuItem mniHelp;
private JMenuItem mniAbout;
private JPanel panel; // 面板
private JPanel pnlCenter;
private JPanel pnlSouth;
private JLabel lblStatusBar; // 状态栏标签
private JLabel lblBackground; // 背景标签
private ImageIcon imgCollege;
private ImageIcon imgExit;
private ImageIcon imgPassword;
private ImageIcon imgQuery;
private ImageIcon imgBrowse;
private ImageIcon imgCount;
private ImageIcon imgBackground;
private JToolBar toolbar; // 工具栏
private JButton btnSetCollege;
private JButton btnChangePassword;
private JButton btnFindStudentById;
private JButton btnExit;
private JButton btnBrowseStudent;
private JButton btnCountByDepartment;
private Status status; // 状态对象
private StatusService statusService; // 状态服务对象
public MainFrame(String title) {
super(title);
initGUI();
}
/**
* 初始化图形用户界面
*/
private void initGUI() {
// 创建主菜单
mnbMain = new JMenuBar();
// 创建【设置】菜单及其菜单项
mnuSet = new JMenu("系统设置[S]");
mnuSet.setMnemonic(KeyEvent.VK_S);
mniSetCollegeInfo = new JMenuItem("学校信息");
mniSetStatusBar = new JMenuItem("状态栏信息");
mniChangePassword = new JMenuItem("修改密码");
mniExit = new JMenuItem("退出系统");
// 创建【操作】菜单及其菜单项
mnuOperate = new JMenu("数据操作[O]");
mnuOperate.setMnemonic(KeyEvent.VK_O);
mniAddStudent = new JMenuItem("增加学生表记录");
mnuDelStu = new JMenu("删除学生表记录");
mniEditStudent = new JMenuItem("编辑学生表记录");
mniBrowseStudent = new JMenuItem("浏览学生表记录");
// 创建【删除学生表记录】的子菜单
mniDelStudentById = new JMenuItem("按学号删除");
mniDelStudentsByClass = new JMenuItem("按班级删除");
mniDelStudentsByDepartment = new JMenuItem("按系部删除");
// 创建【查询】菜单及其菜单项
mnuFind = new JMenu("查询学生[Q]");
mnuFind.setMnemonic(KeyEvent.VK_Q);
mniFindStudentById = new JMenuItem("按学号查询");
mniFindStudentsByName = new JMenuItem("按姓名查询");
mniFindStudentsByClass = new JMenuItem("按班级查询");
mniFindStudentsByDepartment = new JMenuItem("按系部查询");
// 创建【统计】菜单及其菜单项
mnuCount = new JMenu("人数统计[C]");
mnuCount.setMnemonic(KeyEvent.VK_C);
mniCountStudentsBySex = new JMenuItem("按性别统计");
mniCountStudentsByClass = new JMenuItem("按班级统计");
mniCountStudentsByDepartment = new JMenuItem("按系部统计");
// 创建【帮助】菜单及其菜单项
mnuHelp = new JMenu("帮助[H]");
mnuHelp.setMnemonic(KeyEvent.VK_H);
mniHelp = new JMenuItem("帮助");
mniAbout = new JMenuItem("关于");
// 创建图标对象
imgCollege = new ImageIcon("images/college.png");
imgPassword = new ImageIcon("images/password.png");
imgQuery = new ImageIcon("images/query.png");
imgBrowse = new ImageIcon("images/browse.png");
imgCount = new ImageIcon("images/count.png");
imgExit = new ImageIcon("images/exit.png");
// 创建工具栏
toolbar = new JToolBar();
btnSetCollege = new JButton("设置学校", imgCollege);
btnSetCollege.setToolTipText("设置学校信息");
btnSetCollege.setVerticalTextPosition(AbstractButton.BOTTOM);
btnSetCollege.setHorizontalTextPosition(AbstractButton.CENTER);
btnChangePassword = new JButton("修改密码", imgPassword);
btnChangePassword.setToolTipText("修改用户密码");
btnChangePassword.setVerticalTextPosition(AbstractButton.BOTTOM);
btnChangePassword.setHorizontalTextPosition(AbstractButton.CENTER);
btnBrowseStudent = new JButton("浏览学生", imgBrowse);
btnBrowseStudent.setToolTipText("浏览学生记录");
btnBrowseStudent.setVerticalTextPosition(Abst