2017-02-14 7 views
0

필자는 코드를 작성했지만 정확히 작동하지는 않지만 원하는 코드를 설명합니다.(javafx) 현재 사람들이 계정을 만들도록 요구하는 앱을 만들고 있는데, 어떻게 텍스트 필드가 null이 아닌지 확인할 수 있습니까?

조금 좁혔다 고 생각합니다. 문자열을 == 또는! =와 비교할 수 없다고 말합니다.이 대안은 무엇입니까? .equals()로 암호 필드를 변경 했으므로 제대로 작동하지만! =에 대한 대안을 모르겠습니다.

컨트롤러 클래스 :

@FXML 
     private void handleCreateAccountContinue(ActionEvent event) throws IOException{ 
      if(NewUsernameFieldC.getText()!=null && NewPasswordFieldC.getText()!=null && NewPasswordFieldC.getText()==NewPasswordConfFieldC.getText() 
        && NewEmailFieldC.getText()!=null && NewSteamlinkFieldC.getText()!=null){ 
       //ADD INFO TO DATABASE 
       System.out.println("correct input"); 
      } 
      else{ 
       System.out.println("incorrect input"); 
      } 
     } 

어떤 아이디어? 미리 감사드립니다.

답변

0

저는 입력을 null과 비교하여 빈 텍스트 필드를 찾고 있다고 생각합니다. 대신 입력을 ""로 비교하여 아무것도 입력되지 않았는지 확인해야합니다. 희망이 도움이됩니다!

+0

이 거의 작동하지만 텍스트 필드 중 하나 이상에 아무것도 없을 때 난 여전히 문은 반환이 아닌 다른 문 – Tresk33

+0

아 내가 볼 경우 첫 무슨 일을했다 얻는다. 나는 당신이 위에서 어떻게 반응했는지 본다. 항상 작동하지만 원한다면 || 모든 && 섹션을 무효화하는 대신 –

+0

오오 그렇군요. 그건 사실이고 그게 더 이해가 될거야, 지금 바꿀거야, 고마워! – Tresk33

0

내가 대신이

잘못된 코드 예제를하는, 내 문제를 해결했습니다

@FXML 
     private void handleCreateAccountContinue(ActionEvent event) throws IOException{ 
      if(NewUsernameFieldC.getText()!=null && NewPasswordFieldC.getText()!=null && NewPasswordFieldC.getText()==NewPasswordConfFieldC.getText() 
        && NewEmailFieldC.getText()!=null && NewSteamlinkFieldC.getText()!=null){ 
       //ADD INFO TO DATABASE 
       System.out.println("correct input"); 
      } 
      else{ 
       System.out.println("incorrect input"); 
      } 
     } 

당신은이 작업을 수행 할 것이다 : 나는 희망

@FXML 
    private void handleCreateAccountContinue(ActionEvent event) throws IOException{ 
     if(!NewUsernameFieldC.getText().equals("") && !NewPasswordFieldC.getText().equals("") && NewPasswordFieldC.getText().equals(NewPasswordConfFieldC.getText()) 
       && !NewEmailFieldC.getText().equals("") && !NewSteamlinkFieldC.getText().equals("")){ 
      //ADD INFO TO DATABASE 
      System.out.println("correct output"); 
     } 
     else{ 
      System.out.println("incorrect input"); 
     } 
    } 

이 누군가를하는 데 도움이!

+1

'String'을 == 또는! =와 절대로 비교하지 마십시오. 'String'이 비어 있는지 확인하려면'.isEmpty()'메소드를 사용하십시오. – MBec

0

나는 항상 당신이 null 확인 할수 없어 텍스트

If(NewUsernameFieldC.getText().length > 0) 
{ 
    //the text field is not null 
} 
+0

ControlsFx 필드 유효성 검사도 확인하십시오. – Sedrick

1

의 길이를 확인합니다. 빈 문자열이 있는지 확인해야합니다. String은 객체이기 때문에 "=="가 아닌 equals와 비교해야합니다. 당신은 참조를 비교할 것이고 당신이 원하는 것이 아닙니다. 텍스트를 비교하려고합니다. 그게 당신이 equals를 사용해야하는 이유입니다.

참고 : 같지 않은지 확인하려고하면 "!" 처음에 내가 그랬던 것처럼.

@FXML 
private void handleCreateAccountContinue(ActionEvent event) throws IOException{ 
    if(!NewUsernameFieldC.getText().isEmpty() && !NewPasswordFieldC.getText().isEmpty() && NewPasswordFieldC.getText().equals(NewPasswordConfFieldC.getText()) 
      && !NewEmailFieldC.getText().isEmpty() && !NewSteamlinkFieldC.getText().isEmpty()){ 
     //ADD INFO TO DATABASE 
     System.out.println("correct input"); 
    } 
    else{ 
     System.out.println("incorrect input"); 
    } 
}