JOptionPane.showMessageDialog()的弹出框,如何在不点击的情况下,关闭
时间: 2024-04-22 15:28:38 浏览: 76
在使用JOptionPane.showMessageDialog()方法时,弹出框会自动关闭,而不需要用户进行任何操作。这是因为该方法会在弹出框中显示一条消息,并等待一段时间后自动关闭。如果您想要手动关闭弹出框,可以使用JOptionPane类中的静态方法showOptionDialog(),该方法可以创建一个包含按钮的对话框,用户可以点击该按钮来关闭对话框。
相关问题
private void addUser() { String username = JOptionPane.showInputDialog(this, "请输入用户名:"); String password = JOptionPane.showInputDialog(this, "请输入用户密码:"); String role = JOptionPane.showInputDialog(this, "请输入角色名:"); // 校验输入是否合法 if (username == null || username.isEmpty()) { JOptionPane.showMessageDialog(this, "用户名不能为空!"); return; } if (password == null || password.isEmpty()) { JOptionPane.showMessageDialog(this, "密码不能为空!"); return; } if (role == null || role.isEmpty()) { JOptionPane.showMessageDialog(this, "角色名不能为空!"); return; } // 添加用户到数据库中 try { // 数据库连接信息 Connection connection = DriverManager.getConnection(URL, USERNAME ,PASSWORD); // 执行插入用户信息的数据库操作 PreparedStatement statement = connection.prepareStatement("INSERT INTO user (username, password, role_name) VALUES (?, ?, ?)"); // 设置其他参数值 statement.setString(1, username); statement.setString(2, password); statement.setString(3, role); statement.executeUpdate(); statement.close(); connection.close(); // 显示成功信息 JOptionPane.showMessageDialog(this, "用户添加成功!"); } catch (SQLException ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(this, "添加用户失败:" + ex.getMessage()); } // 刷新用户列表 refreshUserTable(); }
这段代码是一个添加用户的方法,主要包括以下几个步骤:
1. 使用 JOptionPane.showInputDialog 方法弹出对话框,让用户输入用户名、密码和角色名,并将输入的值分别存储到 username、password 和 role 变量中。
2. 对输入的用户名、密码和角色名进行校验,如果有任何一个为空,就弹出警告框并返回。
3. 获取数据库连接,并使用 PreparedStatement 对象执行插入用户信息的 SQL 语句,其中 ? 是占位符,通过 setString 方法将 username、password 和 role 变量的值分别赋给占位符。
4. 执行 statement.executeUpdate() 方法将数据插入到数据库中。
5. 关闭 statement 和 connection 对象,释放资源。
6. 弹出成功信息的警告框。
7. 调用 refreshUserTable() 方法刷新用户列表。
需要注意的是,这段代码存在 SQL 注入的风险,因为用户输入的字符串没有进行任何过滤或转义,攻击者可以通过输入特殊字符来执行恶意代码。为避免这种风险,应该使用 PreparedStatement 对象,并通过占位符的方式来避免字符串拼接。
protected void RegCheck(ActionEvent e) { String username=textField.getText(); String password=textField_1.getText(); String phone=textField_2.getText(); String sex=""; if(rdbtnNewRadioButton.isSelected()){ sex=rdbtnNewRadioButton.getText(); }else{ sex=rdbtnNewRadioButton_1.getText(); } if (toolUtil.isEmpty(username) || toolUtil.isEmpty(password)||toolUtil.isEmpty(phone)) { JOptionPane.showMessageDialog(null, "请输入相关信息"); return; } User user = new User(); user.setUserName(username); user.setPassword(password); user.setSex(sex); user.setPhone(phone); user.setRole(1); Connection con = null; try { con = (Connection) dbUtil.getConnection(); int i = userDao.addUser(con, user); if (i == 2) { JOptionPane.showMessageDialog(null, "该用户名已存在,请重新注册"); } else if (i == 0) { JOptionPane.showMessageDialog(null, "注册失败"); } else { JOptionPane.showMessageDialog(null, "注册成功"); jf.dispose(); new LoginFrm(); } } catch (Exception e1) { e1.printStackTrace();//打印异常栈信息 } finally {//无论是否发生异常,程序都会在 finally 语句块中执行 dbUtil.closeCon(con) 方法来关闭数据库连接 try { dbUtil.closeCon(con); } catch (Exception e1) { e1.printStackTrace(); } } }什么意思
这是一个 Java 程序代码,它是一个注册功能的实现。它从文本框中获取用户输入的用户名、密码、电话和性别信息,然后将这些信息封装到一个 User 对象中。接着它调用了一个名为 userDao 的类的 addUser 方法,来将这个 User 对象插入到数据库中。如果注册成功,程序会关闭当前注册窗口,打开登录窗口。如果注册失败,程序会弹出相应的提示框。这段代码还有异常处理和数据库连接的关闭操作。
阅读全文