текстовое поле проверки неожиданный результат - PullRequest
0 голосов
/ 05 апреля 2019

В настоящее время я работаю над кодом для Java NetBeans, чтобы создать работающую форму входа в систему.мой код работает отлично, но единственная проблема - моя проверка не работает так, как я хочу.как, например, когда я оставляю текстовое поле имени пользователя для моей формы.он показывает мне приглашение ввести учетные данные.но как только я нажимаю уволить за это приглашение.он отправляет форму с пустым текстовым полем.Вот мой код ниже:

что я делаю не так?

   try{
        String username;
        username = usernameTxt.getText();
        String password;
        password= new String (passwordTxt.getText());
     if(username.equals("")){
        JOptionPane.showMessageDialog(null,"Please Enter Your Username.");
    }
    if(password.equals("")){
        JOptionPane.showMessageDialog(null,"Please Enter Your Password.");
    }

    String confirmpassword = new String (confirmpassTxt.getText());

    if(password.equals(confirmpassword)){
       confirmpassLab.setText("");
    }
    else {
    confirmpassLab.setText("PASSWORD DOES NOT MATCH.");
    }
        PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter("ResidentLoginCredentials.txt",true))); // TRUE is to get all the information from the form to send it into the database. this code is to send the information to the databse 
        pw.println(username); // passing that value to the file 
        pw.println(password); // passing the name value to the database 
        pw.close();
        JOptionPane.showMessageDialog(this,"Your Account Has Been Successfully Registered.","File Message", JOptionPane.INFORMATION_MESSAGE);
        usernameTxt.setText("");
        passwordTxt.setText("");
        this.setVisible(false); // this makes the current form disappear and the new form to open
    residentassignunit ru = new residentassignunit(); // this codes are to redirect user to another form
    ru.setVisible(true);

   }
   catch(IOException e)
   {
        JOptionPane.showMessageDialog(this,"File Not Found","File Error Message Box",JOptionPane.ERROR_MESSAGE);
   }

1 Ответ

0 голосов
/ 05 апреля 2019
try{
        String username;
        username = usernameTxt.getText();
        String password;
        password= new String (passwordTxt.getText());

     if(username.equals("")){
        JOptionPane.showMessageDialog(null,"Please Enter Your Username.");
    }else if(password.equals("")){
        JOptionPane.showMessageDialog(null,"Please Enter Your Password.");
    }else if(!password.equals(confirmpassword)){
       confirmpassLab.setText("PASSWORD DOES NOT MATCH.");          
    }else{
       String confirmpassword = "";    

        PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("ResidentLoginCredentials.txt",true))); // TRUE is to get all the information from the form to send it into the database.this code is to send the information to the databse 

        pw.println(username); // passing that value to the file 
        pw.println(password); // passing the name value to the database 
        pw.close();
        JOptionPane.showMessageDialog(this,"Your Account Has Been Successfully Registered.","File Message", JOptionPane.INFORMATION_MESSAGE);
        usernameTxt.setText("");
        passwordTxt.setText("");
        this.setVisible(false); // this makes the current form disappear and the new form to open
    residentassignunit ru = new residentassignunit(); // this codes are to redirect user to another form
    ru.setVisible(true);
  }    
   }
   catch(IOException e)
   {
        JOptionPane.showMessageDialog(this,"File Not Found","File Error Message Box",JOptionPane.ERROR_MESSAGE);
   }
...