javaswing实现不同用户登录的代码
时间: 2023-12-08 07:05:21 浏览: 38
以下是一个简单的Java Swing实现不同用户登录的示例代码:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
public class LoginFrame extends JFrame implements ActionListener {
private JLabel userLabel, passLabel;
private JTextField userField;
private JPasswordField passField;
private JButton loginButton;
public LoginFrame() {
setTitle("Login");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
userLabel = new JLabel("Username:");
passLabel = new JLabel("Password:");
userField = new JTextField(10);
passField = new JPasswordField(10);
loginButton = new JButton("Login");
setLayout(new GridLayout(3, 2));
add(userLabel);
add(userField);
add(passLabel);
add(passField);
add(loginButton);
loginButton.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
String username = userField.getText();
String password = new String(passField.getPassword());
if (isValidUser(username, password)) {
// 允许用户登录
JOptionPane.showMessageDialog(null, "Welcome, " + username + "!");
} else {
// 用户不存在或密码错误
JOptionPane.showMessageDialog(null, "Invalid username or password!");
}
}
private boolean isValidUser(String username, String password) {
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String pass = "root";
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
try (Connection conn = DriverManager.getConnection(url, user, pass);
PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, username);
stmt.setString(2, password);
ResultSet rs = stmt.executeQuery();
return rs.next();
} catch (SQLException ex) {
ex.printStackTrace();
return false;
}
}
public static void main(String[] args) {
LoginFrame frame = new LoginFrame();
frame.setVisible(true);
}
}
```
在这个示例代码中,我们创建了一个JFrame窗口作为登录界面。在界面上添加了JLabel、JTextField、JPasswordField和JButton组件,让用户输入用户名和密码,以及点击登录按钮。在登录按钮的ActionListener中,我们获取用户输入的用户名和密码,并调用isValidUser方法判断用户是否合法。isValidUser方法使用JDBC连接数据库,查询用户信息,如果用户信息正确,则返回true,否则返回false。最后,根据isValidUser方法的返回值,我们弹出相应的提示框,允许用户登录或者提示用户重新输入。需要注意的是,这个示例代码中使用的是MySQL数据库,如果你使用的是其他数据库,需要相应地更改连接字符串和SQL语句。