使用Java语言设计一个登陆窗口用以连接mysql数据库,窗口拥有用户名和用户名文本框,密码和密码文本框,拥有五个按钮,分别为登录,退出,修改密码,注册,删除,分别五个按钮设置事件处理
时间: 2024-03-16 14:47:51 浏览: 62
好的,我可以为您提供一个简单的Java语言登陆窗口设计,但是由于我只是一个语言模型,不能直接创建窗口,您需要使用相关的图形界面工具来实现。
首先,您需要在窗口中添加以下组件:
1. 用户名标签和用户名文本框
2. 密码标签和密码文本框
3. 登录、退出、修改密码、注册和删除五个按钮
然后,您需要编写事件处理程序,以便在用户单击这些按钮时执行相应的操作。以下是可能的事件处理程序:
1. 登录按钮:
```java
loginButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String username = usernameTextField.getText();
String password = passwordTextField.getText();
// 连接MySQL数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
// 查询用户是否存在
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE username=? AND password=?");
stmt.setString(1, username);
stmt.setString(2, password);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
// 登录成功,执行相应的操作
} else {
// 登录失败,提示用户输入错误的用户名或密码
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
}
});
```
2. 退出按钮:
```java
exitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
```
3. 修改密码按钮:
```java
changePasswordButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String oldPassword = JOptionPane.showInputDialog("请输入旧密码:");
String newPassword = JOptionPane.showInputDialog("请输入新密码:");
// 连接MySQL数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
// 检查旧密码是否正确
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE username=? AND password=?");
stmt.setString(1, username);
stmt.setString(2, oldPassword);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
// 更新密码
stmt = conn.prepareStatement("UPDATE users SET password=? WHERE username=?");
stmt.setString(1, newPassword);
stmt.setString(2, username);
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "密码修改成功!");
} else {
// 旧密码输入错误,提示用户重新输入
JOptionPane.showMessageDialog(null, "旧密码输入错误!");
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
}
});
```
4. 注册按钮:
```java
registerButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String username = JOptionPane.showInputDialog("请输入用户名:");
String password = JOptionPane.showInputDialog("请输入密码:");
// 连接MySQL数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
// 检查用户名是否已存在
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE username=?");
stmt.setString(1, username);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
// 用户名已存在,提示用户重新输入
JOptionPane.showMessageDialog(null, "用户名已存在!");
} else {
// 添加用户
stmt = conn.prepareStatement("INSERT INTO users(username, password) VALUES(?, ?)");
stmt.setString(1, username);
stmt.setString(2, password);
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "用户注册成功!");
}
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
}
});
```
5. 删除按钮:
```java
deleteButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int option = JOptionPane.showConfirmDialog(null, "确定要删除该用户吗?");
if (option == JOptionPane.YES_OPTION) {
// 连接MySQL数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
// 删除用户
PreparedStatement stmt = conn.prepareStatement("DELETE FROM users WHERE username=?");
stmt.setString(1, username);
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "用户删除成功!");
// 关闭数据库连接
stmt.close();
conn.close();
}
}
});
```
以上是一个简单的Java语言登陆窗口的设计和事件处理程序的思路,您可以根据自己的实际需求进行修改和扩展。
阅读全文