2016-04-01 2 views
1

Как вы, возможно, догадались, у меня небольшая ошибка в моем логин-коде. Это не главное, и это не сильно повлияет, но было бы более профессионально, если бы я понял это. Я потратил последние 48 часов, пытаясь понять код, и я знаю, что это будет просто супер и легко понять для профессионалов. Но. Вот мой код.Ошибки в коде входа

class loginButton implements ActionListener{ 

    public void actionPerformed(ActionEvent e) { 
     if ("Username".equalsIgnoreCase(textUsername.getText())) 
      if ("Password".equalsIgnoreCase(textPassword.getText())) { 
      JOptionPane.showMessageDialog(null, "Login Success."); 
      CowboyCorral success = new CowboyCorral(); 
      success.setVisible(true); 
      dispose(); 
     }else JOptionPane.showMessageDialog(null, "Login Failed."); 
      } 
     } 
    buttonLogin.addActionListener(new loginButton()); 

В этом коде, как вы можете видеть, если мое имя пользователя «имя пользователя» и пароль «пароль» (супер безопасно), то это дает вам подсказку «войти в успех», и она располагает окно и открывает второй файл в моем проекте. Это работает все денди.

Но проблема в том, что введенные учетные данные: не соответствует, он не отображает приглашение 'login failed'.

Опять же, это может быть простое решение, и я обещаю, что я буду плохо себя чувствовать, но я все еще учился и хотел бы, чтобы кто-то взглянул на него и сказал мне, где я испортился. Заранее спасибо!

+0

Я думаю, что я понимаю проблему. Позволяет проверить одну или две вещи перед отправкой ответа: можете ли вы попробовать ввести неправильное имя пользователя и посмотреть, отображается ли диалоговое окно «Ошибка входа в систему». Надеюсь, он будет показан. –

+0

Только дважды проверено, не отобразится. –

+0

Можете ли вы сделать textUsername.getText(). ToString() вместо textUsername.getText() для имени пользователя и пароля –

ответ

1

Выяснил это! Вот мои изменения: я изменил

if ("Username".equalsIgnoreCase(textUsername.getText())) 
     if ("Password".equalsIgnoreCase(textPassword.getText())) { 

в

if ("Username".equalsIgnoreCase(textUsername.getText()) && ("Password".equalsIgnoreCase(textPassword.getPassword().toString()))) { 

и с теми двух проверок, вместо одного существ после других, он проверяет их одновременно. Что происходит, так это то, что он сказал бы «да, ваше имя пользователя правильно. Ваш пароль правильный? Если нет, ТОГДА я покажу, что ваш логин провалился. Теперь он будет проверять оба из них в одно и то же время и вернуть часть кода в зависимости от введенного.

+0

Это было второе, что я собирался завести. благодаря –

Смежные вопросы