簡體   English   中英

JPanel .getText(); 問題

[英]JPanel .getText(); Issues

我正在嘗試驗證用戶輸入是否等於設置的字符串。 看起來不像.getText(); 將用戶輸入設置為字符串值。 任何幫助表示贊賞和歡迎:)謝謝!

    while(adminLogIn) {
    System.out.println('\u000C');
    System.out.println("Enter Administrator Credentials: ");
    String adminusername = "admin";
    String adminpassword = "admin123";
    TimeUnit.SECONDS.sleep(1);
  JTextField usernameInput = new JTextField(15);
  JTextField passwordInput = new JPasswordField(15);

  JPanel myPanel = new JPanel();
  myPanel.add(new JLabel("Username: "));
  myPanel.add(usernameInput);
  myPanel.add(Box.createHorizontalStrut(15)); // a spacer
  myPanel.add(new JLabel("Password: "));
  myPanel.add(passwordInput);
  String username = usernameInput.getText();
  String password = passwordInput.getText();
  int result = JOptionPane.showConfirmDialog(null, myPanel, 
           "Administrator Login", JOptionPane.OK_CANCEL_OPTION);
    if (username.equals(adminusername) && (password.equals(adminpassword))) {
        System.out.println("Logging In...");
        TimeUnit.SECONDS.sleep(3);
        adminLogIn = false;
    } else {
        System.out.println("Wrong Username/Password. Try Again.");
        attempts++;
    }
    if (attempts == 3) {
        System.out.println("Login Failed. Locking Out User...");
        TimeUnit.SECONDS.sleep(3);
        System.exit(0);
    }
}

設置變量用戶名和密碼時,對話框尚未顯示。 因此值是空的。 如下更改代碼:

 while(adminLogIn) {
    System.out.println('\u000C');
    System.out.println("Enter Administrator Credentials: ");
    String adminusername = "admin";
    String adminpassword = "admin123";
    TimeUnit.SECONDS.sleep(1);
  JTextField usernameInput = new JTextField(15);
  JTextField passwordInput = new JPasswordField(15);

  JPanel myPanel = new JPanel();
  myPanel.add(new JLabel("Username: "));
  myPanel.add(usernameInput);
  myPanel.add(Box.createHorizontalStrut(15)); // a spacer
  myPanel.add(new JLabel("Password: "));
  myPanel.add(passwordInput);
  int result = JOptionPane.showConfirmDialog(null, myPanel, 
           "Administrator Login", JOptionPane.OK_CANCEL_OPTION);
    if (usernameInput.getText().equals(adminusername) && (passwordInput.getText().equals(adminpassword))) {
        System.out.println("Logging In...");
        TimeUnit.SECONDS.sleep(3);
        adminLogIn = false;
    } else {
        System.out.println("Wrong Username/Password. Try Again.");
        attempts++;
    }
    if (attempts == 3) {
        System.out.println("Login Failed. Locking Out User...");
        TimeUnit.SECONDS.sleep(3);
        System.exit(0);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM