javaswing与mysql结合的注册登录界面代码
时间: 2023-12-06 09:44:32 浏览: 31
以下是一个简单的使用Java Swing和MySQL结合的注册登录界面代码示例:
```java
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class RegisterLoginDemo extends JFrame implements ActionListener {
private JTextField tfUsername;
private JPasswordField pfPassword;
private JButton btnRegister, btnLogin;
private Connection conn;
public RegisterLoginDemo() {
super("Register/Login Demo");
tfUsername = new JTextField(20);
pfPassword = new JPasswordField(20);
btnRegister = new JButton("Register");
btnLogin = new JButton("Login");
JPanel panel = new JPanel(new GridLayout(3, 2));
panel.add(new JLabel("Username:"));
panel.add(tfUsername);
panel.add(new JLabel("Password:"));
panel.add(pfPassword);
panel.add(btnRegister);
panel.add(btnLogin);
add(panel, BorderLayout.CENTER);
btnRegister.addActionListener(this);
btnLogin.addActionListener(this);
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
} catch (Exception e) {
e.printStackTrace();
}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnRegister) {
try {
String username = tfUsername.getText();
String password = String.valueOf(pfPassword.getPassword());
PreparedStatement stmt = conn.prepareStatement("INSERT INTO users (username, password) VALUES (?, ?)");
stmt.setString(1, username);
stmt.setString(2, password);
stmt.executeUpdate();
JOptionPane.showMessageDialog(this, "Registration successful!");
} catch (Exception ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "Registration failed!");
}
} else if (e.getSource() == btnLogin) {
try {
String username = tfUsername.getText();
String password = String.valueOf(pfPassword.getPassword());
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()) {
JOptionPane.showMessageDialog(this, "Login successful!");
} else {
JOptionPane.showMessageDialog(this, "Login failed!");
}
} catch (Exception ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "Login failed!");
}
}
}
public static void main(String[] args) {
new RegisterLoginDemo();
}
}
```
这个示例创建了一个Java Swing窗口,在窗口中包含了一个文本框、一个密码框和两个按钮,用于注册和登录。当用户点击“注册”按钮时,程序会将用户名和密码插入到MySQL数据库中。当用户点击“登录”按钮时,程序会从数据库中检索给定用户名和密码,如果找到匹配项,则显示“登录成功”消息,否则显示“登录失败”消息。
需要注意的是,此示例中使用的数据库表必须具有名为“users”的列“username”和“password”。在实际应用中,需要根据具体需求修改代码以适应不同的数据结构。