SQL (mySQL workbench) 및 Java (Eclipse)로 간단한 로그인 데이터베이스를 구성하려고합니다. 다른 문자열에 대해서도 SQL에서 데이터베이스에 대해 문자열 입력 (JTextField 및 JPasswordField)을 테스트하는 방법을 모르겠습니다.JPanel에서 사용자 입력을 테스트하는 방법은 무엇입니까?
로그인 자격 증명이 지정된 문자열과 같으면 Java에서 명령문을 출력하고 싶습니다. 나는 .getText()와 .getSelectedText() 메소드를 사용하여 각 userText/passwordText의 텍스트를 얻는 시도
import javax.swing.*;
import java.sql.*;
public class Hello1 extends JFrame {
private static final long serialVersionUID = 1487932324102279819L;
public static void main(String[] args) {
JFrame frame = new JFrame("Frame Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(350,200);
JPanel panel = new JPanel();
frame.add(panel);
placeComponents(panel);
frame.setVisible(true);
String username0 = "java";
String password = "password";
Statement stmt = null;
try{
String url = "jdbc:mysql://localhost:3306/javabase?useSSL=false";
Connection connection = DriverManager.getConnection(url, username0, password);
stmt = connection.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT * from userids ");
while(rs.next()) {
String user = rs.getString("username");
String pass = rs.getString("paswrd");
System.out.println(user);
System.out.println(pass);
}
connection.close();
}
catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
private static void placeComponents(JPanel panel) {
panel.setLayout(null);
JLabel userLabel = new JLabel("Username");
userLabel.setBounds(10,20,80,25);
panel.add(userLabel);
JTextField userText = new JTextField(20);
userText.setBounds(100, 20, 165, 25);
panel.add(userText);
String user = userText.getText();
JLabel passwordLabel = new JLabel("Password");
passwordLabel.setBounds(10,50,80,25);
panel.add(passwordLabel);
JPasswordField passwordText = new JPasswordField(20);
passwordText.setBounds(100,50,165,25);
panel.add(passwordText);
String pass = passwordText.getSelectedText();
if(user.equals('b') && pass.equals('t')){
System.out.println("Correct Login");
}
System.out.println(pass);
JButton loginB = new JButton("Login");
loginB.setBounds(10, 80, 80, 25);
panel.add(loginB);
}
}
: 여기에 내 현재 코드입니다.
당신은 준비된 성명에서 매개 변수로 사용자 이름과 암호를 전달하고 사용하여 일치 여부를 확인 후 다시 실행해야
정확히 어디에 붙어 있습니까? – GhostCat
@GhostCat SQL 데이터베이스에서 사용자 이름과 암호를 확인하는 클래스를 호출하는 단추를 사용하는 방법에 대해 고민했습니다. –