Eclipse+Java+Swing实现学生宿舍管理系统

/**

  • 操作宿舍信息

  • @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();

最后希望可以帮助到大家!

千千万万要记得:多刷题!!多刷题!!

之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!

篇幅有限,以下只能截图分享部分的资源!!

(1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集)

image

(2)刷的算法题(还有左神的算法笔记)

image

(3)面经+真题解析+对应的相关笔记(很全面)

image

(4)视频学习(部分)

ps:当你觉得学不进或者累了的时候,视频是个不错的选择

在这里,最后只一句话:祝大家offer拿到手软!!

reateParallelGroup(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();

最后希望可以帮助到大家!

千千万万要记得:多刷题!!多刷题!!

之前算法是我的硬伤,后面硬啃了好长一段时间才补回来,算法才是程序员的灵魂!!!!

篇幅有限,以下只能截图分享部分的资源!!

(1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集)

[外链图片转存中…(img-sdkHwTg2-1714288421354)]

(2)刷的算法题(还有左神的算法笔记)

[外链图片转存中…(img-8JsG9xWR-1714288421355)]

(3)面经+真题解析+对应的相关笔记(很全面)

[外链图片转存中…(img-blFwoLU4-1714288421355)]

(4)视频学习(部分)

ps:当你觉得学不进或者累了的时候,视频是个不错的选择

在这里,最后只一句话:祝大家offer拿到手软!!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值