java swing 校园宿舍管理系统 javaswing mysql实现的校园宿舍管理系统源码和导入文档(2017)

目录

 1.系统运行环境

2. 系统功能介绍

3.项目结构略讲

3.1 乱码问题

3.3 项目结构

3.4 项目修改

 3.5 项目运行

 3.6 代码片段

4.总结


 1.系统运行环境

        运行环境:Java8 + MySQL8 
        开发工具:eclipse

2. 系统功能介绍

(下面介绍的功能肯定都有,没有介绍的功能肯定没有!)

系统采用模拟MVC三层进行开发,这样方便项目进行修改或者二次开发!
        数据库:三张表
        功能:角色分为三类管理员、宿舍和学生
                   系统管理员功能需求:
                  学生信息管理:能够添加学生信息和住宿信息、删除学生信息、查找学生信息、修改学生信息。
                  宿舍楼信息管理:能够添加宿舍楼和宿舍信息、删除宿舍楼和宿舍信息、查找宿舍楼和宿舍信息、修改宿舍楼和宿舍信息、设定每个宿舍人数、显示每个宿舍已入住人数。
                  宿舍住宿管理:能够查询每个宿舍已被注入学生信息、能够给学生调换宿舍。
                  学生缺寝管理:添加缺寝信息、删除缺寝信息、查询学生缺寝信息。
                  系统登录退出:能够正常登陆、退出系统。
                 宿舍管理员功能需求:
                 学生缺寝管理:添加缺寝信息、删除缺寝信息、查询学生缺寝信息。
                 系统登录退出:能够正常登陆、退出系统。
                学生功能需求:
                        能查看个人缺寝信息和基本信息。
                         能进行系统登录、退出。

3.项目结构略讲

3.1 乱码问题

        系统开发时的编码为GBK,因此导入eclipse时,也需要eclipse工作空间的编码为GBK

        修改编码:点击Window->Preference->General->workplace,然后选择默认编码方式 GBK。

        错误做法:开始将系统导入,出现乱码的问题,然后去修改eclipse的编码,这样有的   时候并不能修乱码的问题!需要将项目删除掉,然后修改eclipse的工作空   间编码,再次导入系统才能修改掉乱码!

3.2 如何将GBK编码系统修改为UTF-8编码的系统?

        需要靠我们勤劳的双手,嘿嘿嘿......

        将系统文件复制一份,然后将eclipse的工作空间编码修改为UTF-8,导入系统;eclipse里面文件与原来文件进行一一比对,修改

        Ctrl +c 和ctrl + v

        除此之外,我目前还不知道如何一步修改,嘿嘿嘿......

3.3 项目结构

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则是控制器

你想问:这不是没有控制器层?

我:阿巴阿巴......确实没有

3.4 项目修改

在com.system.util包下面的DB类中,里面包含的一些数据库连接的基本信息,PASS变量需要修改成自己的数据库密码

 3.5 项目运行

在com.system.view包下面的Login类,main函数就在这个类里面,然后点击右键就可以运行

 3.6 代码片段

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);
	}
}

运行截图:

4.下载地址

点击下载

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值