赞
踩
目录
运行环境:Java8 + MySQL8
开发工具:eclipse
(下面介绍的功能肯定都有,没有介绍的功能肯定没有!)
系统采用模拟MVC三层进行开发,这样方便项目进行修改或者二次开发!
数据库:三张表
功能:角色分为三类管理员、宿舍和学生
系统管理员功能需求:
学生信息管理:能够添加学生信息和住宿信息、删除学生信息、查找学生信息、修改学生信息。
宿舍楼信息管理:能够添加宿舍楼和宿舍信息、删除宿舍楼和宿舍信息、查找宿舍楼和宿舍信息、修改宿舍楼和宿舍信息、设定每个宿舍人数、显示每个宿舍已入住人数。
宿舍住宿管理:能够查询每个宿舍已被注入学生信息、能够给学生调换宿舍。
学生缺寝管理:添加缺寝信息、删除缺寝信息、查询学生缺寝信息。
系统登录退出:能够正常登陆、退出系统。
宿舍管理员功能需求:
学生缺寝管理:添加缺寝信息、删除缺寝信息、查询学生缺寝信息。
系统登录退出:能够正常登陆、退出系统。
学生功能需求:
能查看个人缺寝信息和基本信息。
能进行系统登录、退出。
系统开发时的编码为GBK,因此导入eclipse时,也需要eclipse工作空间的编码为GBK
修改编码:点击Window->Preference->General->workplace,然后选择默认编码方式 GBK。
错误做法:开始将系统导入,出现乱码的问题,然后去修改eclipse的编码,这样有的 时候并不能修乱码的问题!需要将项目删除掉,然后修改eclipse的工作空 间编码,再次导入系统才能修改掉乱码!
3.2 如何将GBK编码系统修改为UTF-8编码的系统?
需要靠我们勤劳的双手,嘿嘿嘿......
将系统文件复制一份,然后将eclipse的工作空间编码修改为UTF-8,导入系统;eclipse里面文件与原来文件进行一一比对,修改
Ctrl +c 和ctrl + v
除此之外,我目前还不知道如何一步修改,嘿嘿嘿......
com.system.bean包:实体包,在有些情况下也写成entity或者pojo,相当于model持 久层
com.system.dao包:操作数据库的JDBC包,相当于model持久层
com.system.util包:工具包
com.system.view包:swing类包,相当于view视图层
com.system.service包:业务处理包,相当于model持久层
com.system.test包:测试包,和项目无关
mvc设计模式中:m是指业务模型,v是指用户界面,c则是控制器
你想问:这不是没有控制器层?
我:阿巴阿巴......确实没有
在com.system.util包下面的DB类中,里面包含的一些数据库连接的基本信息,PASS变量需要修改成自己的数据库密码
在com.system.view包下面的Login类,main函数就在这个类里面,然后点击右键就可以运行
- public class Login extends JFrame {
-
- private JPanel contentPane;
- private JTextField usernameField;
- private JPasswordField passwordField;
-
- /**
- * Launch the application.
- * 创作:码不停手
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- Login frame = new Login();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
-
- /**
- * Create the frame.
- */
- public Login() {
- setTitle("校园宿舍管理系统");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 781, 536);
- contentPane = new JPanel();
- contentPane.setBackground(Color.WHITE);
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
-
- JPanel panel = new JPanel();
- panel.setBounds(0, 0, 765, 178);
- contentPane.add(panel);
- panel.setLayout(null);
-
- JLabel lblNewLabel = new JLabel("学校宿舍管理系统");
- lblNewLabel.setForeground(Color.BLACK);
- lblNewLabel.setFont(new Font("微软雅黑", Font.BOLD, 22));
- lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
- lblNewLabel.setBounds(292, 38, 262, 88);
- panel.add(lblNewLabel);
-
- JLabel lblNewLabel_1 = new JLabel("");
- lblNewLabel_1.setIcon(new ImageIcon(Login.class.getResource("/images/1627519187(1).jpg")));
- lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
- lblNewLabel_1.setBounds(142, 22, 185, 120);
- panel.add(lblNewLabel_1);
-
- JPanel panel_1 = new JPanel();
- panel_1.setBackground(Color.WHITE);
- panel_1.setBounds(0, 177, 765, 320);
- contentPane.add(panel_1);
- panel_1.setLayout(null);
-
- JLabel lblNewLabel_2 = new JLabel("用户名:");
- lblNewLabel_2.setFont(new Font("微软雅黑", Font.BOLD, 16));
- lblNewLabel_2.setHorizontalAlignment(SwingConstants.RIGHT);
- lblNewLabel_2.setBounds(151, 51, 114, 36);
- panel_1.add(lblNewLabel_2);
-
- JLabel lblNewLabel_2_1 = new JLabel("密码:");
- lblNewLabel_2_1.setHorizontalAlignment(SwingConstants.RIGHT);
- lblNewLabel_2_1.setFont(new Font("微软雅黑", Font.BOLD, 16));
- lblNewLabel_2_1.setBounds(151, 115, 114, 36);
- panel_1.add(lblNewLabel_2_1);
-
- JLabel lblNewLabel_2_2 = new JLabel("类型:");
- lblNewLabel_2_2.setHorizontalAlignment(SwingConstants.RIGHT);
- lblNewLabel_2_2.setFont(new Font("微软雅黑", Font.BOLD, 16));
- lblNewLabel_2_2.setBounds(151, 176, 114, 36);
- panel_1.add(lblNewLabel_2_2);
-
- usernameField = new JTextField();
- usernameField.setFont(new Font("微软雅黑", Font.BOLD, 16));
- usernameField.setBounds(268, 51, 275, 36);
- panel_1.add(usernameField);
- usernameField.setColumns(10);
-
- passwordField = new JPasswordField();
- passwordField.setFont(new Font("微软雅黑", Font.BOLD, 16));
- passwordField.setBounds(268, 115, 275, 36);
- panel_1.add(passwordField);
-
- String[] menu = { "管理员", "宿管", "学生" };
- JComboBox comboBox = new JComboBox(menu);
- comboBox.setFont(new Font("微软雅黑", Font.BOLD, 14));
- comboBox.setBounds(268, 176, 275, 36);
- panel_1.add(comboBox);
-
- JButton btnNewButton = new JButton("登录");
- btnNewButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- String username = usernameField.getText();
- String password = passwordField.getText();
- String type = (String) comboBox.getSelectedItem();
-
- if ("".equals(username) || "".equals(password)) {
- JOptionPane.showMessageDialog(null, "请输入完整的信息!");
- }else{
- UserService userService = new UserServiceImpl();
- User user = userService.login(username, password, type);
- if (user == null) {
- JOptionPane.showMessageDialog(null, "用户名、密码或权限不正确!");
- } else {
- JOptionPane.showMessageDialog(null, "登录成功!");
- if ("管理员".equals(user.getType()) || "宿管".equals(user.getType())) {
- setVisible(false);
- new BG(user).setVisible(true);
- } else {
- setVisible(false);
- new StudentInfo(user).setVisible(true);
- }
-
- }
-
- }
-
- }
- });
- btnNewButton.setFont(new Font("微软雅黑", Font.BOLD, 14));
- btnNewButton.setBounds(168, 246, 93, 36);
- panel_1.add(btnNewButton);
-
- JButton btnNewButton_1 = new JButton("退出");
- btnNewButton_1.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- System.exit(1);
- }
- });
- btnNewButton_1.setFont(new Font("微软雅黑", Font.BOLD, 14));
- btnNewButton_1.setBounds(545, 246, 93, 36);
- panel_1.add(btnNewButton_1);
- }
- }
运行截图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。