解释代码jb_login.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String userName = userNameTxt.getText(); String userPassword = new String(userPasswordTxt.getPassword()); if (StringUtil.isEmpty(userName)) { JOptionPane.showMessageDialog(null, "用户名不能为空"); return; } if (StringUtil.isEmpty(userPassword)) { JOptionPane.showMessageDialog(null, "密码不能为空"); return; } User user = new User(userName, userPassword); Connection con = null; try { con = dbUtil.getCon(); User reUser = userDao.login(con, user); if (reUser != null) { dispose();// 销毁登录框 if (1 == reUser.getRole()) { new MainFrm().setVisible(true);// 创建管理员主界面Firme } else if (0 == reUser.getRole()) { new UserMainFrm(reUser).setVisible(true); // 创建读者界面 } } else { JOptionPane.showMessageDialog(null, "用户名或密码不正确"); } } catch (Exception e1) { JOptionPane.showMessageDialog(null, "登录失败"); e1.printStackTrace(); } finally { try { con.close(); } catch (SQLException e1) { e1.printStackTrace(); } } } });
时间: 2024-03-08 15:45:29 浏览: 40
这段代码是在为一个按钮添加一个事件监听器,当用户点击这个按钮时,该监听器会执行一系列操作。具体来说,当用户点击这个按钮时,首先获取到用户名和密码框中的输入内容。然后,如果用户名或密码为空,则会显示一个弹窗提示用户输入不能为空,并且不执行后面的操作。接着,创建一个 User 对象,将用户名和密码赋给该对象。然后,通过调用 dbUtil 的 getCon 方法获取到数据库连接,调用 userDao 的 login 方法进行登录验证。如果验证成功,销毁登录框,并且根据用户角色不同创建不同的主界面。如果验证失败,则会显示一个弹窗提示用户用户名或密码不正确。最后,无论登录是否成功,都会关闭数据库连接。
相关问题
btn_gai.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String bian = txt_bian.getText(); String buildingNo = txt_buildingNo.getText(); String roomNo = txt_roomNo.getText(); String personNum = txt_personNum.getText(); if(bian.equals("")||buildingNo.equals("")||roomNo.equals("")||personNum.equals("")) { return; } String sql="update room set buildingNo="+buildingNo+", roomNo="+roomNo+",person_num="+personNum+" where id = "+bian; try { Connection conn=DbUtil.getConnection(); Statement stm=conn.createStatement(); DataB.data_update(sql, stm); JOptionPane.showMessageDialog(null, "修改成功"); }catch(Exception ex) { ex.printStackTrace(); } sql="select * from room"; RoomDao.putDates(table,sql); } }); }
以下是对该段代码的注释:
```
btn_gai.addActionListener(new ActionListener() { // 给按钮添加一个监听器,当按钮被点击时,执行以下代码
@Override
public void actionPerformed(ActionEvent e) { // 事件处理函数
String bian = txt_bian.getText(); // 获取名为"txt_bian"的文本框中的文本内容,赋值给变量"bian"
String buildingNo = txt_buildingNo.getText(); // 获取名为"txt_buildingNo"的文本框中的文本内容,赋值给变量"buildingNo"
String roomNo = txt_roomNo.getText(); // 获取名为"txt_roomNo"的文本框中的文本内容,赋值给变量"roomNo"
String personNum = txt_personNum.getText(); // 获取名为"txt_personNum"的文本框中的文本内容,赋值给变量"personNum"
if(bian.equals("")||buildingNo.equals("")||roomNo.equals("")||personNum.equals("")) { // 判断这些值是否存在空值,如果存在,直接返回(不执行修改操作)
return;
}
String sql="update room set buildingNo="+buildingNo+", roomNo="+roomNo+",person_num="+personNum+" where id = "+bian; // 构造SQL语句,更新名为"room"的表中ID为"bian"的行的"buildingNo"、"roomNo"、"person_num"字段
try {
Connection conn=DbUtil.getConnection(); // 获取数据库连接
Statement stm=conn.createStatement(); // 创建一个Statement对象
DataB.data_update(sql, stm); // 执行SQL语句
JOptionPane.showMessageDialog(null, "修改成功"); // 在弹窗中显示"修改成功"
}catch(Exception ex) {
ex.printStackTrace(); // 如果出错,打印错误信息
}
sql="select * from room"; // 构造SQL语句,查询名为"room"的表中的所有行
RoomDao.putDates(table,sql); // 更新Swing界面中的表格数据
}
});
```
总体来说,该段代码的作用是在Swing界面中添加一个按钮的监听器,当用户点击该按钮时,会从数据库中更新指定的数据,并更新Swing界面中的表格数据。具体实现方式是使用JDBC连接数据库,执行SQL语句,然后更新Swing界面中的表格数据。
btn_zeng.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub String buildingNo = txt_buildingNo.getText(); String roomNo = txt_roomNo.getText(); String personNum = txt_personNum.getText(); String sql="insert into room(buildingNo,roomNo,person_num) values('"+buildingNo+"','"+roomNo+"','"+personNum+"')"; try { Connection conn=DbUtil.getConnection(); Statement stm=conn.createStatement(); DataB.data_check(sql, stm); JOptionPane.showMessageDialog(null, "增加成功"); }catch(Exception ex) { ex.printStackTrace(); } sql="select * from room"; RoomDao.putDates(table,sql); } });
这段代码是 Java Swing 中的事件处理代码,用于处理按钮的点击事件。当按钮被点击时,会执行 actionPerformed() 方法中的代码。
在这段代码中,当“增加”按钮被点击时,会从文本框中获取输入的建筑编号、房间编号和人数,并将其插入到数据库表中。具体地,会构造一个 SQL 语句并执行该语句。如果执行成功,则会弹出一个提示框显示“增加成功”,否则会在控制台打印异常信息。
然后,会从数据库表中查询所有房间信息,并将其显示在表格中。具体地,会构造一个 SQL 语句并执行该语句,然后将查询结果放入一个 JTable 对象中,并将该对象设置为表格的数据模型。最后,表格会重新绘制显示新的数据。