JFrame 是 Java Swing 库中的一个顶层容器,用于创建图形用户界面(GUI)应用程序。MySQL 是一个流行的关系型数据库管理系统,广泛用于存储和管理数据。
假设我们要使用 JFrame 创建一个简单的注册界面,并将用户信息存储到 MySQL 数据库中。
首先,创建一个名为 user_db 的数据库,并在其中创建一个名为 users 的表:
CREATE DATABASE user_db;
USE user_db;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL
);在 Java 项目中,添加 MySQL 连接驱动依赖(例如,使用 Maven):
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>创建一个简单的 JFrame 注册界面,并将用户信息存储到 MySQL 数据库中:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class RegistrationForm extends JFrame {
private JTextField usernameField;
private JPasswordField passwordField;
public RegistrationForm() {
setTitle("Registration Form");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3, 2));
panel.add(new JLabel("Username:"));
usernameField = new JTextField();
panel.add(usernameField);
panel.add(new JLabel("Password:"));
passwordField = new JPasswordField();
panel.add(passwordField);
JButton registerButton = new JButton("Register");
panel.add(registerButton);
registerButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
try {
saveUser(username, password);
JOptionPane.showMessageDialog(RegistrationForm.this, "Registration successful!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(RegistrationForm.this, "Registration failed: " + ex.getMessage());
}
}
});
add(panel);
}
private void saveUser(String username, String password) throws SQLException {
String url = "jdbc:mysql://localhost:3306/user_db";
String user = "your_username";
String pass = "your_password";
try (Connection conn = DriverManager.getConnection(url, user, pass)) {
String sql = "INSERT INTO users (username, password) VALUES (?, ?)";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, username);
stmt.setString(2, password);
stmt.executeUpdate();
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new RegistrationForm().setVisible(true);
}
});
}
}希望这些信息对你有所帮助!如果有更多问题,请随时提问。
没有搜到相关的沙龙