Eclipse+Java+Swing实现学生宿舍管理系统_sts学生住宿服务系统-程序员宅基地

技术标签: swing  java  mysql  JavaSwing实战  

一、系统介绍

本系统实现了学生登录和管理员登录,学生可以登记入住,实现学生信息查询和修改,实现宿舍信息查询。管理实现学生信息增删改查,实现宿舍信息增删改查。

二、系统展示

1.登录页面

在这里插入图片描述

2.学生主页面

在这里插入图片描述

3.学生端-登记页面

在这里插入图片描述

4.学生端-学生信息修改

在这里插入图片描述

5.学生端-寝室信息查询

在这里插入图片描述

6.学生端-学生信息查询

在这里插入图片描述

7.学生端-退出登录

在这里插入图片描述

8.管理员-主页面

在这里插入图片描述

9.管理员-宿舍信息修改

在这里插入图片描述

10.管理员-宿舍信息删除

在这里插入图片描述

11.管理员-学生信息修改

在这里插入图片描述

12.管理员-学生信息删除

在这里插入图片描述

13.管理员-宿舍信息添加

在这里插入图片描述

14.管理员-学生信息添加

在这里插入图片描述

15.管理员-学生信息查询

在这里插入图片描述

16.管理员-宿舍信息查询

在这里插入图片描述

17.管理员-退出系统

在这里插入图片描述

三、系统实现

Room.java

package com.sjsq.model;

/**
 * 
 *
 * 
 * @author shuijianshiqing
 *
 * @date 2020-08-30 18:32
 *
 */

public class Room {
    
	String id;// 寝室号
	String member;// 成员
	String leader;// 寝室长

	// 构造函数
	public Room(String member) {
    
		super();
		this.member = member;
	}

	public Room() {
    
		super();
	}

	public Room(String id, String member, String leader) {
    
		super();
		this.id = id;
		this.member = member;
		this.leader = leader;
	}

	public Room(String member, String leader) {
    
		super();
		this.member = member;
		this.leader = leader;
	}

	// get,set方法
	public String getMember() {
    
		return member;
	}

	public void setMember(String member) {
    
		this.member = member;
	}

	public String getLeader() {
    
		return leader;
	}

	public void setLeader(String leader) {
    
		this.leader = leader;
	}

	public String getId() {
    
		return id;
	}

	public void setId(String id) {
    
		this.id = id;
	}

	public String toString() {
    
		return this.getMember();
	}

}

Student.java

package com.sjsq.model;

/**
 * 
 * 学生实体类
 * 
 * @author shuijianshiqing
 *
 * @date 2020-09-01 07:02
 *
 */

public class Student {
    
	int id;
	String name;
	String sex;
	String yuanxi;
	String classroom;
	int dormitory = -1;
	int bed;

	public Student(String name) {
    
		super();
		this.name = name;
	}

	public Student(int id, String name, String sex, String yuanxi, String classroom, int dormitory, int bed) {
    
		super();
		this.id = id;
		this.name = name;
		this.sex = sex;
		this.yuanxi = yuanxi;
		this.classroom = classroom;
		this.dormitory = dormitory;
		this.bed = bed;
	}

	public Student(String name, String sex, String yuanxi, String classroom, int dormitory, int bed) {
    
		super();
		this.name = name;
		this.sex = sex;
		this.yuanxi = yuanxi;
		this.classroom = classroom;
		this.dormitory = dormitory;
		this.bed = bed;
	}

	public Student() {
    
		super();
	}

	public Student(String name, String sex, String yuanxi, String classroom, int dormitory) {
    
		super();
		this.name = name;
		this.sex = sex;
		this.yuanxi = yuanxi;
		this.classroom = classroom;
		this.dormitory = dormitory;
	}

	public int getId() {
    
		return id;
	}

	public void setId(int id) {
    
		this.id = id;
	}

	public String getName() {
    
		return name;
	}

	public void setName(String name) {
    
		this.name = name;
	}

	public String getSex() {
    
		return sex;
	}

	public void setSex(String sex) {
    
		this.sex = sex;
	}

	public String getYuanxi() {
    
		return yuanxi;
	}

	public void setYuanxi(String yuanxi) {
    
		this.yuanxi = yuanxi;
	}

	public String getClassroom() {
    
		return classroom;
	}

	public void setClassroom(String classroom) {
    
		this.classroom = classroom;
	}

	public int getDormitory() {
    
		return dormitory;
	}

	public void setDormitory(int dormitory) {
    
		this.dormitory = dormitory;
	}

	public int getBed() {
    
		return bed;
	}

	public void setBed(int bed) {
    
		this.bed = bed;
	}

}

User.java

package com.sjsq.model;

/**
 * 
 * User实体类
 * 
 * @author shuijianshiqing
 *
 * @date 2020-09-01 07:02
 *
 */

public class User {
    
	String id;
	String userName;
	String userPassword;

	public User() {
    
		super();
	}

	public User(String userName, String userPassword) {
    
		super();
		this.userName = userName;
		this.userPassword = userPassword;
	}

	public String getId() {
    
		return id;
	}

	public void setId(String id) {
    
		this.id = id;
	}

	public String getUserName() {
    
		return userName;
	}

	public void setUserName(String userName) {
    
		this.userName = userName;
	}

	public String getUserPassword() {
    
		return userPassword;
	}

	public void setUserPassword(String userPassword) {
    
		this.userPassword = userPassword;
	}

	@Override
	public String toString() {
    
		return this.getUserName();
	}

}

DMUtil.java

package com.sjsq.util;

import java.sql.Connection;
import java.sql.DriverManager;

/**
 * 
 * 数据库工具连接类
 * 
 * @author shuijianshiqing
 *
 * @date 2020-09-01 07:03
 *
 */

public class DMUtil {
    
	// URL链接
	private String url = "jdbc:mysql://localhost:3306/dormitory_management_swing?serverTimezone=UTC";
	// 账号
	private String userName = "root";
	// 密码
	private String userPassword = "admin";
	// JDBC驱动
	private String jdbcName = "com.mysql.cj.jdbc.Driver";

	// 链接
	public Connection getCon() throws Exception {
    
		Class.forName(jdbcName);
		Connection con = DriverManager.getConnection(url, userName, userPassword);
		return con;
	}

	// 关闭链接
	public void closeCon(Connection con) throws Exception {
    
		if (con != null) {
    
			con.close();
		}
	}

	// 测试
	public static void main(String[] args) {
    
		DMUtil dmutil = new DMUtil();
		Connection con = null;
		try {
    
			con = dmutil.getCon();
			System.out.println("数据库连接成功!");
		} catch (Exception e) {
    
			e.printStackTrace();
		} finally {
    
			try {
    
				dmutil.closeCon(con);
			} catch (Exception e) {
    
				e.printStackTrace();
			}
		}
	}
}

StringUtil.java

package com.sjsq.util;

/**
 * 字符串工具类
 * 
 * @author shuijianshiqing
 * 
 * @date 2020-09-01 07:03
 *
 */

public class StringUtil {
    

	// 判断字符串是否是""
	public static boolean isEmpty(String type) {
    
		if (type.equals("")) {
    
			return true;
		} else {
    
			return false;
		}
	}

	// 判断字符串不为空
	public static boolean isNotEmpty(String type) {
    
		if (type != null && !type.equals("")) {
    
			return true;
		} else {
    
			return false;
		}
	}

}

RoomDao.java

package com.sjsq.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.sjsq.model.Room;
import com.sjsq.util.StringUtil;

/**
 * 
 * 操作宿舍信息
 * 
 * @author shuijianshiqing
 *
 * @date 2020-09-01 07:07
 *
 */
public class RoomDao {
    

	// 添加宿舍信息
	public int roomAdd(Connection con, Room room) throws Exception {
    
		String sql = "insert into room_message values(null,?,?)";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, room.getMember());
		pstmt.setString(2, room.getLeader());
		return pstmt.executeUpdate();
	}

	// 查询宿舍信息
	public ResultSet roomList(Connection con, Room room) throws Exception {
    
		StringBuffer sb = new StringBuffer("select * from room_message");
		if (StringUtil.isNotEmpty(room.getMember())) {
    
			String member = room.getMember();
			sb.append(" and member like '%" + room.getMember() + "%'");
		}
		PreparedStatement pstmt = con.prepareStatement(sb.toString().replaceFirst("and", "where"));
		return pstmt.executeQuery();
	}

	// 修改宿舍信息
	public int roomModify(Connection con, Room room) throws Exception {
    
		String sql = "update room_message set member=?,leader=? where id=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, room.getMember());
		pstmt.setString(2, room.getLeader());
		pstmt.setString(3, room.getId());
		return pstmt.executeUpdate();
	}

	// 删除宿舍信息
	public int roomDelete(Connection con, Room room) throws Exception {
    
		String sql = "delete from room_message where member=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, room.getMember());
		return pstmt.executeUpdate();
	}
}

UserDao.java

package com.sjsq.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.sjsq.model.User;

/**
 * 
 * 返回学生信息
 * 
 * @author shuijianshiqing
 *
 * @date 2020-09-01 07:07
 *
 */

public class UserDao {
    

	// 登录
	public User Login(Connection con, User user) throws Exception {
    
		User currentuser = null;
		String sql = "select * from d_user where userName=? and userPassword=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, user.getUserName());
		pstmt.setString(2, user.getUserPassword());
		ResultSet rs = pstmt.executeQuery();

		while (rs.next()) {
    
			currentuser = new User();
			currentuser.setUserName(rs.getString("userName"));
			currentuser.setUserPassword(rs.getString("userPassword"));
		}
		return currentuser;
	}
}

LoginFrm.java

package com.sjsq.view;

import java.awt.Font;
import java.sql.Connection;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.ImageIcon;

import javax.swing.JOptionPane;
import javax.swing.UIManager;

import com.sjsq.dao.UserDao;
import com.sjsq.model.User;
import com.sjsq.util.DMUtil;
import com.sjsq.util.StringUtil;

/**
 * 
 * 登录界面
 * 
 * @author 刁雨健  dyj
 * @author shuijianshiqing
 *
 * @date 2020-09-01 07:41
 *
 */
public class LoginFrm extends javax.swing.JFrame {
    

	private JLabel jLabel1;
	private JLabel jLabel2;
	private JLabel jLabel3;
	private JLabel jLabel4;
	private JButton jb_login;
	private JButton jb_reset;
	private JComboBox jcb_choose;
	private JTextField userNameTxt;
	private JPasswordField userPasswordTxt;

	DMUtil dmutil = new DMUtil();
	UserDao userdao = new UserDao();

	/**
	 * 创建窗体
	 */
	public LoginFrm() {
    

		Font font = new Font("Dialog", Font.PLAIN, 12);
		java.util.Enumeration keys = UIManager.getDefaults().keys();
		while (keys.hasMoreElements()) {
    
			Object key = keys.nextElement();
			Object value = UIManager.get(key);
			if (value instanceof javax.swing.plaf.FontUIResource) {
    
				UIManager.put(key, font);
			}
		}
		// 初始化
		initComponents();
		// 居中
		this.setLocationRelativeTo(null);
		this.filltable();
	}

	// 填充表格
	private void filltable() {
    
		User user1 = new User();
		User user2 = new User();
		user1.setUserName("学生");
		user2.setUserName("管理员");
		user1.setId(1 + "");
		user2.setId(2 + "");
		jcb_choose.addItem(user1);
		jcb_choose.addItem(user2);
	}

	// 初始化
	private void initComponents() {
    

		jLabel1 = new JLabel("General", JLabel.CENTER);
		jLabel2 = new JLabel();
		jLabel3 = new JLabel();
		userNameTxt = new JTextField();
		userPasswordTxt = new JPasswordField();
		jb_login = new JButton();
		jb_reset = new JButton();
		jcb_choose = new JComboBox();
		jLabel4 = new JLabel();

		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		setTitle("学生宿舍管理系统登录界面");
		setResizable(false);

		jLabel1.setFont(new Font("宋体", 0, 24));
		jLabel1.setText("学生宿舍管理系统");

		// 用户名
		jLabel2.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/user.png")));
		jLabel2.setText("账号:");

		// 密码
		jLabel3.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/password.png")));
		jLabel3.setText("密码:");

		userNameTxt.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				userNameTxtActionPerformed(evt);
			}
		});

		// 登录
		jb_login.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/login.png")));
		jb_login.setText("登录");
		jb_login.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_loginActionPerformed(evt);
			}
		});

		// 重置
		jb_reset.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/reset.png"))); // NOI18N
		jb_reset.setText("重置");
		jb_reset.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_resetActionPerformed(evt);
			}
		});

		jLabel4.setIcon(new ImageIcon(LoginFrm.class.getResource("/images/type.png"))); // NOI18N
		jLabel4.setText("用户类型:");

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
		getContentPane().setLayout(layout);

		layout.setHorizontalGroup(
				layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(layout.createSequentialGroup().addGap(103, 103, 103).addComponent(jLabel1)
								.addContainerGap(58, Short.MAX_VALUE))
						.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout
								.createSequentialGroup().addGroup(layout.createParallelGroup(
										javax.swing.GroupLayout.Alignment.TRAILING).addGroup(
												layout.createSequentialGroup().addContainerGap().addComponent(
														jLabel4).addGap(42, 42, 42).addComponent(jcb_choose,
																javax.swing.GroupLayout.PREFERRED_SIZE, 111,
																javax.swing.GroupLayout.PREFERRED_SIZE))
										.addGroup(layout.createSequentialGroup()
												.addGroup(layout.createParallelGroup(
														javax.swing.GroupLayout.Alignment.LEADING)
														.addGroup(layout.createSequentialGroup().addGap(103, 103, 103)
																.addGroup(layout.createParallelGroup(
																		javax.swing.GroupLayout.Alignment.TRAILING)
																		.addComponent(jLabel3).addComponent(jLabel2)))
														.addGroup(layout
																.createSequentialGroup().addGap(104, 104, 104)
																.addComponent(jb_login)))
												.addGroup(layout
														.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
														.addGroup(layout.createSequentialGroup().addGap(42, 42, 42)
																.addGroup(layout.createParallelGroup(
																		javax.swing.GroupLayout.Alignment.LEADING)
																		.addComponent(userNameTxt,
																				javax.swing.GroupLayout.DEFAULT_SIZE,
																				111, Short.MAX_VALUE)
																		.addComponent(userPasswordTxt,
																				javax.swing.GroupLayout.DEFAULT_SIZE,
																				111, Short.MAX_VALUE)))
														.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
																layout.createSequentialGroup().addPreferredGap(
																		javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(jb_reset).addGap(25, 25, 25)))))
								.addGap(100, 100, 100)));
		
		layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
				.createSequentialGroup().addGap(60, 60, 60).addComponent(jLabel1)
				.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel2)
						.addComponent(userNameTxt, javax.swing.GroupLayout.PREFERRED_SIZE,
								javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
				.addGap(27, 27, 27)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel3)
						.addComponent(userPasswordTxt, javax.swing.GroupLayout.PREFERRED_SIZE,
								javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
				.addGap(27, 27, 27)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jLabel4)
						.addComponent(jcb_choose, javax.swing.GroupLayout.PREFERRED_SIZE,
								javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
				.addGap(34, 34, 34).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
						.addComponent(jb_login).addComponent(jb_reset))
				.addContainerGap(34, Short.MAX_VALUE)));

		pack();
	}

	// 登录事件监控
	private void jb_loginActionPerformed(java.awt.event.ActionEvent evt) {
    
		String userName = userNameTxt.getText();
		String userPassword = new String(userPasswordTxt.getPassword());
		if (StringUtil.isEmpty(userName)) {
    
			JOptionPane.showMessageDialog(null, "用户名不能为空!");
			return;
		} else if (StringUtil.isEmpty(userPassword)) {
    
			JOptionPane.showMessageDialog(null, "密码不能为空!");
			return;
		}
		User user = new User(userName, userPassword);
		Connection con = null;
		try {
    
			con = dmutil.getCon();
			User currentuser = userdao.Login(con, user);
			if (currentuser != null) {
    
				User user1 = (User) jcb_choose.getSelectedItem();
				String userright = user1.getUserName();
				if (userright.equals("管理员")) {
    
					this.dispose();
					MainFrm main = new MainFrm();
					main.setVisible(true);
				} else if (userright.equals("学生")) {
    
					this.dispose();
					MainFrm2 main2 = new MainFrm2();
					main2.setVisible(true);
				} else {
    
					JOptionPane.showMessageDialog(null, "用户名密码错误!");
				}
			}
		} catch (Exception e) {
    
			JOptionPane.showInternalMessageDialog(null, "登陆失败");
			e.printStackTrace();
		}
	}

	// 重置事件监控
	private void jb_resetActionPerformed(java.awt.event.ActionEvent evt) {
    
		this.userNameTxt.setText("");
		this.userPasswordTxt.setText("");
	}

	private void userNameTxtActionPerformed(java.awt.event.ActionEvent evt) {
    
	}

	// 主函数
	public static void main(String args[]) {
    
		java.awt.EventQueue.invokeLater(new Runnable() {
    
			public void run() {
    
				new LoginFrm().setVisible(true);
			}
		});
	}

}

MainFrm2.java

package com.sjsq.view;

import javax.swing.JDesktopPane;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
/**
 * 
 * 学生主页面
 * 
 * @author shuijianshiqing
 *
 * @date 2020-09-01 07:52
 *
 */

public class MainFrm2 extends javax.swing.JFrame {
    

	private JMenu jMenu1;
	private JMenu jMenu3;
	private JMenu jMenu2;
	private JMenuBar jMenuBar1;
	private JMenuItem jMenuItem1;
	private JMenuItem jMenuItem2;
	private JMenuItem jMenuItem3;
	private JMenuItem jMenuItem4;
	private JMenuItem jMenuItem5;
	private JMenuItem jMenuItem6;
	private JDesktopPane table;

	/**
	 * 创建窗体
	 */
	public MainFrm2() {
    
		initComponents();
		// 设置位置
		setBounds(100, 200, 1050, 650);
		// 居中显示
		this.setLocationRelativeTo(null);
	}

	/**
	 * 初始化窗体
	 */
	private void initComponents() {
    

		table = new JDesktopPane();
		jMenuBar1 = new JMenuBar();
		jMenu1 = new JMenu();
		jMenuItem2 = new JMenuItem();
		jMenuItem3 = new JMenuItem();
		jMenu2 = new JMenu();
		jMenuItem1 = new JMenuItem();
		jMenuItem4 = new JMenuItem();
		jMenu3 = new JMenu();
		jMenuItem5 = new JMenuItem();
		jMenuItem6 = new JMenuItem();

		setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
		setTitle("学生信息管理学生页面");

		// 设置导航栏
		jMenu1.setText("学生入住");

		jMenuItem2.setText("办理入住");
		jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jMenuItem2ActionPerformed(evt);
			}
		});
		jMenu1.add(jMenuItem2);

		jMenuItem3.setText("信息修改");
		jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jMenuItem3ActionPerformed(evt);
			}
		});
		jMenu1.add(jMenuItem3);

		jMenuBar1.add(jMenu1);

		
		jMenu2.setText("信息查询");

		jMenuItem1.setText("寝室查询");
		jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jMenuItem1ActionPerformed(evt);
			}
		});
		jMenu2.add(jMenuItem1);

		jMenuItem4.setText("人员查询");
		jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jMenuItem4ActionPerformed(evt);
			}
		});
		jMenu2.add(jMenuItem4);

		jMenuBar1.add(jMenu2);

		
		jMenu3.setText("帮助服务");

		jMenuItem5.setText("关于系统");
		jMenu3.add(jMenuItem5);

		jMenuItem6.setText("退出系统");
		jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jMenuItem6ActionPerformed(evt);
			}
		});
		jMenu3.add(jMenuItem6);

		jMenuBar1.add(jMenu3);

		setJMenuBar(jMenuBar1);

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addComponent(table, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE));
		layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addComponent(table, javax.swing.GroupLayout.DEFAULT_SIZE, 277, Short.MAX_VALUE));

		pack();
	}

	// 事件监控
	private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
    
		int a = JOptionPane.showConfirmDialog(null, "确定要退出?");
		if (a == 0) {
    
			this.dispose();
		}
	}

	private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
    
		RoomSearchInterFrm roomSearch = new RoomSearchInterFrm();
		roomSearch.setVisible(true);
		this.table.add(roomSearch);
	}

	private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
    
		StudentSearchInterFrm StudentSearch = new StudentSearchInterFrm();
		StudentSearch.setVisible(true);
		this.table.add(StudentSearch);
	}

	private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
    
		StudentModifyInterFrm StudentModify = new StudentModifyInterFrm();
		StudentModify.setVisible(true);
		this.table.add(StudentModify);
	}

	private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
    
		StudentAddInterFrm Student = new StudentAddInterFrm();
		Student.setVisible(true);
		this.table.add(Student);
	}

	// 主函数
	public static void main(String args[]) {
    
		java.awt.EventQueue.invokeLater(new Runnable() {
    
			public void run() {
    
				new MainFrm2().setVisible(true);
			}
		});
	}

}

RoomAddInterFrm.java

package com.sjsq.view;

import java.sql.Connection;

import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JButton;

import com.sjsq.dao.RoomDao;
import com.sjsq.model.Room;
import com.sjsq.util.DMUtil;

/**
 * 
 * 房间信息添加
 * 
 * @author shuijianshiqing
 *
 * @date 2020-09-01 20:51
 *
 */
public class RoomAddInterFrm extends javax.swing.JInternalFrame {
    

	private JTextField dm_leader;
	private JTextField dm_number;
	private JLabel jLabel1;
	private JLabel jLabel2;
	private JLabel jLabel3;
	private JButton jb_add;
	private JButton jb_reset;

	DMUtil dmutil = new DMUtil();
	RoomDao roomdao = new RoomDao();

	public RoomAddInterFrm() {
    
		initComponents();
		this.setLocation(200, 50);
	}

	private void initComponents() {
    

		jLabel1 = new JLabel();
		dm_number = new JTextField();
		jLabel2 = new JLabel();
		dm_leader = new JTextField();
		jb_add = new JButton();
		jb_reset = new JButton();
		jLabel3 = new JLabel();

		setClosable(true);
		setIconifiable(true);
		setTitle("宿舍添加");

		jLabel1.setText("宿舍号:");

		jLabel2.setText("寝室长:");

		jb_add.setText("添加");
		jb_add.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_addActionPerformed(evt);
			}
		});

		jb_reset.setText("重置");
		jb_reset.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_resetActionPerformed(evt);
			}
		});

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
				.createSequentialGroup().addGap(150, 150, 150)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(layout.createSequentialGroup().addComponent(jLabel2)
								.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
								.addComponent(dm_leader, javax.swing.GroupLayout.DEFAULT_SIZE, 121, Short.MAX_VALUE))
						.addGroup(layout.createSequentialGroup().addComponent(jLabel1)
								.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
								.addComponent(dm_number, javax.swing.GroupLayout.DEFAULT_SIZE, 121, Short.MAX_VALUE)
								.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
						.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
								layout.createSequentialGroup().addComponent(jb_add).addGap(18, 18, 18)
										.addComponent(jb_reset)))
				.addGap(4, 4, 4).addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 170,
						javax.swing.GroupLayout.PREFERRED_SIZE)
				.addGap(25, 25, 25)));
		layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
				.createSequentialGroup()
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addGroup(layout
						.createSequentialGroup().addGap(29, 29, 29)
						.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
								.addComponent(jLabel1).addComponent(dm_number, javax.swing.GroupLayout.PREFERRED_SIZE,
										javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
						.addGap(70, 70, 70)
						.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
								.addComponent(jLabel2).addComponent(dm_leader, javax.swing.GroupLayout.PREFERRED_SIZE,
										javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
						.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 91, Short.MAX_VALUE)
						.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
								.addComponent(jb_reset).addComponent(jb_add)))
						.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
								layout.createSequentialGroup().addGap(27, 27, 27).addComponent(jLabel3,
										javax.swing.GroupLayout.PREFERRED_SIZE, 222,
										javax.swing.GroupLayout.PREFERRED_SIZE)))
				.addContainerGap(40, Short.MAX_VALUE)));

		pack();
	}

	private void jb_addActionPerformed(java.awt.event.ActionEvent evt) {
    
		String name = dm_number.getText();
		String leader = dm_leader.getText();
		Room room = new Room(name, leader);
		Connection con = null;
		try {
    
			con = dmutil.getCon();
			int a = roomdao.roomAdd(con, room);
			if (a == 1) {
    
				JOptionPane.showMessageDialog(null, "添加成功!");
				this.resetValue();
			} else {
    
				JOptionPane.showMessageDialog(null, "添加失败!");
			}
		} catch (Exception e) {
    
			JOptionPane.showMessageDialog(null, "添加失败!");
			e.printStackTrace();
		} finally {
    
			try {
    
				dmutil.closeCon(con);
			} catch (Exception e) {
    
				e.printStackTrace();
			}
		}
	}

	private void resetValue() {
    
		this.dm_leader.setText("");
		this.dm_number.setText("");
	}

	private void jb_resetActionPerformed(java.awt.event.ActionEvent evt) {
    
		this.dm_number.setText("");
		this.dm_leader.setText("");
	}

}

RoomDeleteInterFrm.java

package com.sjsq.view;

import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;

import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTable;

import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

import com.sjsq.dao.RoomDao;
import com.sjsq.model.Room;
import com.sjsq.util.DMUtil;
import com.sjsq.util.StringUtil;

/**
 * 
 * 删除房间信息
 * 
 * @author shuijianshiqing
 *
 * @date 2020-09-01 20:40
 *
 */
public class RoomDeleteInterFrm extends javax.swing.JInternalFrame {
    

	// 定义变量
	private JLabel jLabel1;
	private JScrollPane jScrollPane1;
	private JButton jb_delete;
	private JButton jb_exit;
	private JButton jb_search;
	private JTextField roomNum;
	private JTable table;

	DMUtil dmutil = new DMUtil();
	RoomDao roomdao = new RoomDao();

	// 构造函数
	public RoomDeleteInterFrm() {
    
		initComponents();
		this.setLocation(200, 50);
		this.fillTable(new Room());
	}

	// 填充表格
	private void fillTable(Room room) {
    
		DefaultTableModel dtm = (DefaultTableModel) table.getModel();
		dtm.setRowCount(0);
		Connection con = null;
		try {
    
			con = dmutil.getCon();
			ResultSet rs = roomdao.roomList(con, room);
			while (rs.next()) {
    
				Vector v = new Vector();
				v.add(rs.getString("id"));
				v.add(rs.getString("member"));
				v.add(rs.getString("leader"));
				dtm.addRow(v);
			}
		} catch (Exception e) {
    
			e.printStackTrace();
		} finally {
    
			try {
    
				dmutil.closeCon(con);
			} catch (Exception e) {
    
				e.printStackTrace();
			}
		}
	}

	// 初始化
	private void initComponents() {
    

		jLabel1 = new JLabel();
		roomNum = new JTextField();
		jb_search = new JButton();
		jScrollPane1 = new JScrollPane();
		table = new JTable();
		jb_delete = new JButton();
		jb_exit = new JButton();

		setClosable(true);
		setIconifiable(true);
		setTitle("房间删除");

		jLabel1.setText("房间号:");

		jb_search.setText("查询");
		jb_search.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_searchActionPerformed(evt);
			}
		});

		table.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {
    

		}, new String[] {
     "编号", "寝室号 ", "寝室长" }) {
    
			boolean[] canEdit = new boolean[] {
     false, false, false };

			public boolean isCellEditable(int rowIndex, int columnIndex) {
    
				return canEdit[columnIndex];
			}
		});
		jScrollPane1.setViewportView(table);

		jb_delete.setText("删除");
		jb_delete.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_deleteActionPerformed(evt);
			}
		});

		jb_exit.setText("退出");
		jb_exit.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_exitActionPerformed(evt);
			}
		});

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(layout.createSequentialGroup().addGap(64, 64, 64).addComponent(jLabel1).addGap(18, 18, 18)
						.addComponent(roomNum, javax.swing.GroupLayout.PREFERRED_SIZE, 142,
								javax.swing.GroupLayout.PREFERRED_SIZE)
						.addGap(29, 29, 29).addComponent(jb_search).addContainerGap(41, Short.MAX_VALUE))
				.addGroup(layout.createSequentialGroup().addGap(76, 76, 76).addComponent(jb_delete)
						.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 123, Short.MAX_VALUE)
						.addComponent(jb_exit).addGap(86, 86, 86))
				.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
						layout.createSequentialGroup()
								.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
								.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 379,
										javax.swing.GroupLayout.PREFERRED_SIZE)
								.addContainerGap()));
		layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
				.createSequentialGroup().addGap(28, 28, 28)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jb_search)
						.addComponent(jLabel1).addComponent(roomNum, javax.swing.GroupLayout.PREFERRED_SIZE,
								javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
				.addGap(18, 18, 18)
				.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 216,
						javax.swing.GroupLayout.PREFERRED_SIZE)
				.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jb_delete)
						.addComponent(jb_exit))
				.addGap(27, 27, 27)));

		pack();
	}

	private void jb_deleteActionPerformed(java.awt.event.ActionEvent evt) {
    
		int row = this.table.getSelectedRow();
		String member = (String) this.table.getValueAt(row, 1);
		if (StringUtil.isEmpty(member)) {
    
			JOptionPane.showMessageDialog(null, "请选择要删除的记录!");
			return;
		}
		int n = JOptionPane.showConfirmDialog(null, "确定要删除这条记录么");
		if (n == 0) {
    
			Connection con = null;
			try {
    
				con = dmutil.getCon();
				Room room = new Room(member);
				int deleteNum = roomdao.roomDelete(con, room);
				if (deleteNum == 1) {
    
					JOptionPane.showMessageDialog(null, "删除成功");
					this.roomNum.setText("");
					this.fillTable(new Room());
				} else {
    
					JOptionPane.showMessageDialog(null, "删除失败");
				}
			} catch (Exception e) {
    
				JOptionPane.showMessageDialog(null, "删除失败");
				e.printStackTrace();
			} finally {
    
				try {
    
					dmutil.closeCon(con);
				} catch (Exception e) {
    
					e.printStackTrace();
				}
			}
		}
	}

	private void jb_exitActionPerformed(java.awt.event.ActionEvent evt) {
    
		int a = JOptionPane.showConfirmDialog(null, "确认要退出?");
		if (a == 0) {
    
			this.dispose();
		}
	}

	private void jb_searchActionPerformed(java.awt.event.ActionEvent evt) {
    
		String member = roomNum.getText();
		Room room = new Room(member);
		this.fillTable(room);
	}

}

RoomManagerInterFrm.java

package com.sjsq.view;

import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;

import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import com.sjsq.dao.RoomDao;
import com.sjsq.model.Room;
import com.sjsq.util.DMUtil;

public class RoomManagerInterFrm extends javax.swing.JInternalFrame {
    

	private JTextField idTxt;
	private JLabel jLabel1;
	private JLabel jLabel2;
	private JLabel jLabel3;
	private JLabel jLabel4;
	private JPanel jPanel1;
	private JScrollPane jScrollPane1;
	private javax.swing.JButton jb_exit;
	private javax.swing.JButton jb_modify;
	private javax.swing.JButton jb_search;
	private JTextField roomNum;
	private JTextField roomleader;
	private JTextField roomnumber;
	private JTable table;

	DMUtil dmutil = new DMUtil();
	RoomDao roomdao = new RoomDao();

	public RoomManagerInterFrm() {
    
		initComponents();
		this.setLocation(200, 50);
		this.fillTable(new Room());
	}

	private void fillTable(Room room) {
    
		DefaultTableModel dtm = (DefaultTableModel) table.getModel();
		dtm.setRowCount(0);
		Connection con = null;
		try {
    
			con = dmutil.getCon();
			ResultSet rs = roomdao.roomList(con, room);
			while (rs.next()) {
    
				Vector v = new Vector();
				v.add(rs.getString("id"));
				v.add(rs.getString("member"));
				v.add(rs.getString("leader"));
				dtm.addRow(v);
			}
		} catch (Exception e) {
    
			e.printStackTrace();
		} finally {
    
			try {
    
				dmutil.closeCon(con);
			} catch (Exception e) {
    
				e.printStackTrace();
			}
		}
	}

	private void initComponents() {
    

		jLabel1 = new JLabel();
		roomNum = new JTextField();
		jb_search = new javax.swing.JButton();
		jScrollPane1 = new JScrollPane();
		table = new JTable();
		jPanel1 = new JPanel();
		jLabel2 = new JLabel();
		idTxt = new JTextField();
		jLabel3 = new JLabel();
		roomnumber = new JTextField();
		jb_modify = new javax.swing.JButton();
		jb_exit = new javax.swing.JButton();
		jLabel4 = new JLabel();
		roomleader = new JTextField();

		setClosable(true);
		setIconifiable(true);
		setTitle("宿舍信息修改");

		jLabel1.setText("寝室号:");

		jb_search.setText("查询");
		jb_search.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_searchActionPerformed(evt);
			}
		});

		table.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {
    

		}, new String[] {
     "编号", "寝室号", "寝室长" }) {
    
			boolean[] canEdit = new boolean[] {
     false, false, false };

			public boolean isCellEditable(int rowIndex, int columnIndex) {
    
				return canEdit[columnIndex];
			}
		});
		table.addMouseListener(new java.awt.event.MouseAdapter() {
    
			public void mousePressed(java.awt.event.MouseEvent evt) {
    
				tableMousePressed(evt);
			}
		});
		jScrollPane1.setViewportView(table);

		jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("表单操作"));

		jLabel2.setText("编号:");

		idTxt.setEditable(false);

		jLabel3.setText("寝室号:");

		jb_modify.setText("修改");
		jb_modify.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_modifyActionPerformed(evt);
			}
		});

		jb_exit.setText("退出");
		jb_exit.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_exitActionPerformed(evt);
			}
		});

		jLabel4.setText("寝室长:");

		javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
		jPanel1.setLayout(jPanel1Layout);
		jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(jPanel1Layout.createSequentialGroup().addGap(39, 39, 39).addComponent(jb_modify)
						.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 162, Short.MAX_VALUE)
						.addComponent(jb_exit).addGap(64, 64, 64))
				.addGroup(jPanel1Layout.createSequentialGroup().addGap(21, 21, 21)
						.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
								.addComponent(jLabel4).addComponent(jLabel2))
						.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
						.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
								.addComponent(roomleader)
								.addComponent(idTxt, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE))
						.addGap(18, 18, 18).addComponent(jLabel3).addGap(10, 10, 10)
						.addComponent(roomnumber, javax.swing.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE)
						.addGap(62, 62, 62)));
		jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
						.addGap(19, 19, 19)
						.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
								.addComponent(jLabel2)
								.addComponent(idTxt, javax.swing.GroupLayout.PREFERRED_SIZE,
										javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
								.addComponent(jLabel3).addComponent(roomnumber, javax.swing.GroupLayout.PREFERRED_SIZE,
										javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
						.addGap(33, 33, 33)
						.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
								.addComponent(jLabel4).addComponent(roomleader, javax.swing.GroupLayout.PREFERRED_SIZE,
										javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
						.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 60, Short.MAX_VALUE)
						.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
								.addComponent(jb_modify).addComponent(jb_exit))
						.addContainerGap()));

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addGroup(layout.createSequentialGroup().addGap(41, 41, 41).addComponent(jLabel1).addGap(18, 18, 18)
						.addComponent(roomNum, javax.swing.GroupLayout.DEFAULT_SIZE, 173, Short.MAX_VALUE)
						.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addComponent(jb_search)
						.addGap(80, 80, 80))
				.addGroup(layout.createSequentialGroup().addContainerGap()
						.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
								.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, 0,
										javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
								.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING,
										javax.swing.GroupLayout.DEFAULT_SIZE, 379, Short.MAX_VALUE))
						.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
		layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
				.createSequentialGroup().addGap(18, 18, 18)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jLabel1)
						.addComponent(jb_search).addComponent(roomNum, javax.swing.GroupLayout.PREFERRED_SIZE,
								javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
				.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
				.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 111,
						javax.swing.GroupLayout.PREFERRED_SIZE)
				.addGap(18, 18, 18).addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,
						javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
				.addContainerGap()));

		pack();
	}

	private void jb_searchActionPerformed(java.awt.event.ActionEvent evt) {
    
		String member = roomNum.getText();
		Room room = new Room(member);
		this.fillTable(room);
	}

	private void jb_modifyActionPerformed(java.awt.event.ActionEvent evt) {
    
		String roomNumber = roomnumber.getText();
		String roomLeader = roomleader.getText();
		String id = idTxt.getText();
		Connection con = null;
		try {
    
			con = dmutil.getCon();
			Room room = new Room(id, roomNumber, roomLeader);
			int a = roomdao.roomModify(con, room);
			if (a == 1) {
    
				JOptionPane.showMessageDialog(null, "修改成功!");
				resetValue();
				this.fillTable(new Room());
				return;
			} else {
    
				JOptionPane.showMessageDialog(null, "修改失败!");
			}
		} catch (Exception e) {
    
			JOptionPane.showMessageDialog(null, "修改失败!");
			e.printStackTrace();
		}
	}

	public void resetValue() {
    
		roomnumber.setText("");
		roomleader.setText("");
		idTxt.setText("");
	}

	private void jb_exitActionPerformed(java.awt.event.ActionEvent evt) {
    
		int result = JOptionPane.showConfirmDialog(null, "是否退出系统");
		if (result == 0) {
    
			this.dispose();
		}
	}

	private void tableMousePressed(java.awt.event.MouseEvent evt) {
    
		int row = table.getSelectedRow();
		idTxt.setText(table.getValueAt(row, 0) + "");
		roomnumber.setText(table.getValueAt(row, 1) + "");
		roomleader.setText(table.getValueAt(row, 2) + "");
	}

}

RoomSearchInterFrm.java

package com.sjsq.view;

import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;

import javax.swing.table.DefaultTableModel;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JTable;

import com.sjsq.dao.RoomDao;
import com.sjsq.model.Room;
import com.sjsq.util.DMUtil;


public class RoomSearchInterFrm extends javax.swing.JInternalFrame {
    

	private JLabel jLabel1;
	private JScrollPane jScrollPane1;
	private JButton jb_search;
	private JTextField roomNumTxt;
	private JTable table;

	DMUtil dmutil = new DMUtil();
	RoomDao roomdao = new RoomDao();

	public RoomSearchInterFrm() {
    
		initComponents();
		this.setLocation(200, 50);
	}

	private void fillTable(Room room) {
    
		DefaultTableModel dtm = (DefaultTableModel) table.getModel();
		dtm.setRowCount(0);
		Connection con = null;
		try {
    
			con = dmutil.getCon();
			ResultSet rs = roomdao.roomList(con, room);
			while (rs.next()) {
    
				Vector v = new Vector();
				v.add(rs.getString("id"));
				v.add(rs.getString("member"));
				v.add(rs.getString("leader"));
				dtm.addRow(v);
			}
		} catch (Exception e) {
    
			e.printStackTrace();
		} finally {
    
			try {
    
				dmutil.closeCon(con);
			} catch (Exception e) {
    
				e.printStackTrace();
			}
		}
	}

	private void initComponents() {
    

		jLabel1 = new JLabel();
		roomNumTxt = new JTextField();
		jb_search = new JButton();
		jScrollPane1 = new JScrollPane();
		table = new JTable();

		setClosable(true);
		setIconifiable(true);
		setTitle("寝室查询");

		jLabel1.setText("寝室号:");

		jb_search.setText("查询");
		jb_search.addActionListener(new java.awt.event.ActionListener() {
    
			public void actionPerformed(java.awt.event.ActionEvent evt) {
    
				jb_searchActionPerformed(evt);
			}
		});

		table.setModel(new javax.swing.table.DefaultTableModel(new Object[][] {
    

		}, new String[] {
     "编号", "寝室号", "寝室长" }) {
    
			boolean[] canEdit = new boolean[] {
     false, false, false };

			public boolean isCellEditable(int rowIndex, int columnIndex) {
    
				return canEdit[columnIndex];
			}
		});
		jScrollPane1.setViewportView(table);

		javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
		getContentPane().setLayout(layout);
		layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
				.createSequentialGroup()
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
						.createSequentialGroup().addGap(46, 46, 46).addComponent(jLabel1).addGap(28, 28, 28)
						.addComponent(roomNumTxt, javax.swing.GroupLayout.PREFERRED_SIZE, 132,
								javax.swing.GroupLayout.PREFERRED_SIZE)
						.addGap(18, 18, 18).addComponent(jb_search))
						.addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jScrollPane1,
								javax.swing.GroupLayout.PREFERRED_SIZE, 379, javax.swing.GroupLayout.PREFERRED_SIZE)))
				.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
		layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
				.createSequentialGroup().addGap(23, 23, 23)
				.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jb_search)
						.addComponent(roomNumTxt, javax.swing.GroupLayout.PREFERRED_SIZE,
								javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
						.addComponent(jLabel1))
				.addGap(18, 18, 18)
				.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 292, Short.MAX_VALUE)
				.addContainerGap()));

		pack();
	}

	private void jb_searchActionPerformed(java.awt.event.ActionEvent evt) {
    
		String member = roomNumTxt.getText();
		Room room = new Room(member);
		this.fillTable(room);
	}

}

四、其他

1.其他系统实现

JavaSwing系统系列实现

Java+Swing实现斗地主游戏
Java+Swing实现图书管理系统
Java+Swing实现医院管理系统
Java+Swing实现考试管理系统
Java+Swing实现酒店管理系统
Java+Swing实现超市管理系统
Java+Swing实现网上订餐系统
Java+Swing实现电影购票系统
Java+Swing实现仓库管理系统1
Java+Swing实现仓库管理系统2
Java+Swing实现进销存管理系统
Java+Swing实现通讯录管理系统
Java+Swing实现停车场管理系统
Java+Swing实现员工工资管理系统
Java+Swing实现学生宿舍管理系统
Java+Swing实现学生选课管理系统
Java+Swing实现学生成绩管理系统
Java+Swing实现学校教材管理系统
Java+Swing实现学校教务管理系统
Java+Swing实现企业人事管理系统
Java+Swing实现电子相册管理系统
Java+Swing实现学生信息管理系统1
Java+Swing实现学生信息管理系统2
Java+Swing实现自助取款机(ATM)系统

JavaSwing+Txt系统系列实现

Java+Swing实现超市管理系统-TXT存储信息
Java+Swing实现宠物商店管理系统-TXT存储信息
Java+Swing实现自助取款机(ATM)系统-TXT存储信息

Java+JSP系统系列实现

Java+JSP实现学生图书管理系统
Java+JSP实现学生信息管理系统
Java+JSP实现用户信息管理系统

Java+Servlet+JSP系统系列实现

Java+Servlet+JSP实现航空订票系统
Java+Servlet+JSP实现新闻发布系统
Java+Servlet+JSP实现图书管理系统
Java+Servlet+JSP实现停车场管理系统
Java+Servlet+JSP实现房屋租赁管理系统
Java+Servlet+JSP实现学生选课管理系统
Java+Servlet+JSP实现宠物诊所管理系统
Java+Servlet+JSP实现学生宿舍管理系统
Java+Servlet+JSP实现学生信息管理系统
Java+Servlet+JSP实现学生成绩管理系统1
Java+Servlet+JSP实现学生成绩管理系统2

Java+SSM系统系列实现

Java+SSM+JSP实现图书管理系统
Java+SSM+JSP实现宠物商城系统
Java+SSM+JSP实现超市订单系统
Java+SSM+JSP实现网上考试系统
Java+SSM+JSP实现学生成绩管理系统
Java+SSM+JSP实现学生信息管理系统
Java+SSM+Bootstrap+Maven实现网上书城系统
Java+SSM+Bootstrap+Maven实现学校教务管理系统

Java+SSH系统系列实现

Java+SSH+Bootstrap实现在线考试系统
Java+SSH+JSP实现医院在线挂号系统

Java+Springboot系统系列实现

Java+Springboot+H-ui+Maven实现营销管理系统
Java+Springboot+Bootstrap+Maven实现网上商城系统
Java+Springboot+Bootstrap+Maven实现景区旅游管理系统

2.获取源码

点击以下链接获取源码
Java+Swing+Mysql实现学生宿舍管理系统源码

3.备注

如有侵权请联系我删除。

4.鸡汤

积极的思考,积极的生活,积极的展望!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/helongqiang/article/details/108369385

智能推荐

linux下su,su-,sudo命令的区别和用法_su -l-程序员宅基地

文章浏览阅读2.5k次,点赞3次,收藏20次。待写_su -l

基于element-plus如何更换主题?_vue + element plus 动态主题切换-程序员宅基地

文章浏览阅读1.2k次。一个项目中使用了element-plus ui框架,当我们项目需要更换主题的时候项目中的组件如何自动替换主题,以及如何换肤。实现的方法有很多种在这里我简单介绍一下我知道的几种方法。废话不多说请听我继续废话_vue + element plus 动态主题切换

ESP8266+1.54英寸e-paper墨水屏物联网时间天气显示_esp8266 1.54墨水屏-程序员宅基地

文章浏览阅读6.1k次,点赞6次,收藏56次。目录项目总览元器件清单接线方式用到的网站与API显示屏部分屏幕文档介绍屏幕文字图像取模添加字库方法(中文英文通用)程序总览项目总览先上图,看效果!该项目主要是通过esp8266-12e连接wifi获取心知天气数据和苏宁时间api,通过解析json代码得到数据,然后通过e-paper墨水屏显示出来,本项目基于墨水屏例程,添加了部分中文字体以及天气图标,通过文字取模软件对图标和文字进行了编码与取模。元器件清单主控板:esp8266-12e nodemcu显示屏:heltec1.54inch _esp8266 1.54墨水屏

论文翻译:2020_GCRN_Learning Complex Spectral Mapping With Gated Convolutional Recurrent Networks for Mon...-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。论文地址:使用门控卷积循环网络学习复数谱映射以增强单耳语音代码地址:https://github.com/JupiterEthan/GCRN-complex作者主页:https://jupiterethan.github.io/引用格式:Tan K, Wang D L. Learning complex spectral mapping with gated convolutional ..._gcrn

75、基于51单片机交通灯+人行道+左转系统设计(程序+原理图+Proteus仿真+参考论文+开题报告+任务书+元器件清单等)-程序员宅基地

文章浏览阅读625次,点赞17次,收藏10次。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用STC89C51单片机以及单片机最小系统和74HC573电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计

python下载安装教程_python官网下载安装-程序员宅基地

文章浏览阅读10w+次,点赞178次,收藏486次。python3.7.3下载步骤第一步:进入Python官网[https://www.python.org/](https://www.python.org/)第二步:点击downloads进入下载界面选择你想要的下载的版本。这里我选择的是Python3.7.3第三步:新建一个标签,输入网址:[https://python123.io/download](https://python123.io/d..._python官网下载安装

随便推点

AndroidStudio安装与配置_怎么样安装androud studio-程序员宅基地

文章浏览阅读642次。最近准备学习下安卓,这不,第一步安装工具Android Studio,这里简单记录下.首先建议各种工具的下载地址,首选AndroidStudio中文社区http://tools.android-studio.org/index.php/85-tools/109-android-tools-download (推荐网盘下载,方便快捷,还可以自己备份一份;官网下载需要翻墙,不友好)1.安装jd_怎么样安装androud studio

Atomic Integer 原理分析-getAndAddInt-程序员宅基地

文章浏览阅读487次。通过do/while循环,基于CAS乐观锁来做原子递增。实际上前面的valueOffset的作用就是从主内存中获得当前value的值和预期值做一个比较,如果相等,对value做递增并结束循环public final int getAndAddInt(Object var1, long var2, int var4) { int var5; do { var5 = this.getIntVolatile(var1, var2); } while(!this.compareAndSwap_getandaddint

MATLAB 主要函数指令表(按功能分类,转) _exponential zero-state response by lsim-程序员宅基地

文章浏览阅读1.4k次。在网上查资料的时候百出来的,感觉还不错,先放这里了,有时间好好研究下http://i.cn.yahoo.com/zlg246/blog/p_1/原帖就不知道是哪的了 最近学习,经常用到matlab命令,就收集了一下,以方面学习,呵呵1 常用指令(General Purpose Commands)1.1 通用信息_exponential zero-state response by lsim

星际争霸2提示缺少fmodex64_4_44_23.dll怎么办-程序员宅基地

文章浏览阅读286次,点赞3次,收藏4次。是电脑系统中一个非常重要的文件,许多的游戏或者软件运行都需要它的支持,如果没有这个文件可能会造成一些游戏或者软件运行不了。那么星际争霸2提示缺少fmodex64_4_44_23.dll怎么办呢?下面一起来看看吧!首先尝试卸载并重新安装《星际争霸2》,确保所有必要的游戏文件都被正确安装,包括音频库文件。

html语言如何设置表格大小,css怎么设置单元格大小?-程序员宅基地

文章浏览阅读4.2k次。网页中插入表格时,设置了表格的宽度,则会根据表格宽度拉伸;但是有时候内容过长时,就会拉伸的很难看,所以就需要固定表格宽度。下面我们来看一下css设置单元格大小的方法:html:css:table{table-layout: fixed;word-break: break-all; word-wrap: break-word; //表格固定布局}其中table-layout:fixed 表示:列宽由..._html css 单元格宽度

gradle 打jar包 第三方依赖放入lib 目录_gradle打jar包时把依赖的lib打进去-程序员宅基地

文章浏览阅读5.7k次。jar { manifest { attributes("Main-Class": "com.thtf.forecast.GuangdongUploader", "Implementation-Title": "Gradle") } into('lib') { from configurations.runt..._gradle打jar包时把依赖的lib打进去