import javax.swing.*;
import java.awt.*;
import java.sql.*;
public class log_ui extends JFrame {
int a;
private final Dimension buttonSize = new Dimension(200, 50);
private final Font font = new Font("微软雅黑", Font.PLAIN, 20);
public log_ui() {
JFrame frame = new JFrame("验收申请");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(500, 100, 600, 400); // 设置窗口大小和位置
JPanel panel = new JPanel(new GridBagLayout());
frame.setContentPane(panel);
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.WEST;
constraints.insets = new Insets(10, 10, 10, 10);
JLabel text1 = new JLabel("用户名:");
constraints.gridx = 0;
constraints.gridy = 0;
panel.add(text1, constraints);
JTextField textField1 = new JTextField(20);
constraints.gridx = 1;
panel.add(textField1, constraints);
JLabel text2 = new JLabel("密码:");
constraints.gridx = 0;
constraints.gridy = 1;
panel.add(text2, constraints);
JPasswordField passwordField = new JPasswordField(20); // 用密码框来代替文本框并隐藏密码
constraints.gridx = 1;
panel.add(passwordField, constraints);
JButton loginButton = new JButton("登录"); //登录按钮
loginButton.setPreferredSize(buttonSize);
loginButton.setFont(font);
GridBagConstraints gbc4 = new GridBagConstraints();
gbc4.gridx = 0;
gbc4.gridy = 4;
gbc4.gridwidth = 1;
gbc4.gridheight = 1;
gbc4.fill = GridBagConstraints.HORIZONTAL;
gbc4.weightx = 0.5;
panel.add(loginButton, gbc4);
JRadioButton c_button = new JRadioButton("学生选中,教师不选");
c_button.setPreferredSize(buttonSize);
c_button.setFont(font);
GridBagConstraints gbc6 = new GridBagConstraints();
gbc6.gridx = 0; // 这里修改为 0 即可
gbc6.gridy = 2; // 修改为一个合适的值
gbc6.gridwidth = 2;
gbc6.gridheight = 1;
gbc6.fill = GridBagConstraints.HORIZONTAL;
gbc6.weightx = 0.5;
panel.add(c_button, gbc6);
//
JButton registerButton = new JButton("注册"); //注册按钮
registerButton.setPreferredSize(buttonSize);
registerButton.setFont(font);
GridBagConstraints gbc5 = new GridBagConstraints();
gbc5.gridx = 1;
gbc5.gridy = 4;
gbc5.gridwidth = 1;
gbc5.gridheight = 1;
gbc5.fill = GridBagConstraints.HORIZONTAL;
gbc5.weightx = 0.5;
panel.add(registerButton, gbc5);
String password = new String(passwordField.getPassword());
//
//设置登录按钮的功能
c_button.addActionListener((e) -> {
if (true)
a = 1;
else
a = 0;
});
loginButton.addActionListener((e) -> {
try {
add(textField1.getText(), password, a);
} catch (SQLException ex) {
throw new RuntimeException(ex);
}
});
//
frame.setVisible(true);
}
private void add(String text, String text1, int a) throws SQLException {
// 建立数据库连接
String url = "jdbc:mysql:///test";
String username = "root";
String password = "000";
Connection conn = DriverManager.getConnection(url, username, password);
// 获取用户输入的用户名和密码
String username1 = text;
String password1 = text1;
// 查询对应的数据库记录是否存在
String sql = "SELECT password1 FROM lo_res WHERE username1 = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username1);
ResultSet resultSet = pstmt.executeQuery();
if (!resultSet.next()) {
// 查询结果集为空,说明该用户不存在
System.out.println("用户不存在");
return; // 直接返回,不进行后续处理
}
String passwordDB = resultSet.getString("password1");
if (!password1.equals(passwordDB)) {
// 用户存在但密码不匹配
System.out.println("密码错误");
return; // 直接返回,不进行后续处理
}
// 如果用户存在且密码匹配,根据a的值选择打开哪个UI
if (a == 1) {
System.out.println("gg");
} else {
System.out.println("hh");
}
// 释放资源
resultSet.close();
pstmt.close();
conn.close();
}
}
登录老是报错