2016-12-02 8 views
0

Я сделал клиентское приложение чата, и я застрял в диалоговом окне входа в систему. В принципе, я хочу, чтобы событие кнопки register обнаружило, что пользователь ввел что-либо в поле. Этот код не работает.Как определить, пуст ли JTextField?

public class RegButtonListener implements ActionListener 
 
{ 
 
\t public void actionPerformed(ActionEvent event) 
 
\t { 
 
\t \t if(userBox.getText() != null) 
 
\t \t { 
 
\t \t \t System.out.println("Lol"); 
 
\t \t } 
 
\t } 
 
}

+0

Вы пробовали проверку на пустую строку вместо этого? – JonK

+0

Я пробовал проверить, равен ли он нулю (== вместо! =), Но ничего не происходит вообще. Это как если бы пользовательский ящик JTextField никогда не был нулевым. –

ответ

1

Вы можете проверить, если он пуст (в данном случае, не пусто) двумя способами: использованием isEmpty() или equals("")

if (!userBox.getText().isEmpty()){ 
    //code 
} 

или

if (!userBox.getText().equals("")){ 
    //code 
} 
+0

Большое вам спасибо! В чем разница при использовании == или .equals? == для целых чисел? –

+1

@DeanHampson '==' проверяет * реляционное равенство *, то есть «эти две ссылки указывают на точно такой же объект?». '.equals' проверяет логическое равенство, т. е.« эти два объекта представляют одно и то же? ». '==' для целых чисел - это особый случай, и это проще, если вы просто придерживаетесь использования '.equals' для них. – JonK

1

TRY этот код

public class RegButtonListener implements ActionListener 
{ 
    public void actionPerformed(ActionEvent event) 
    { 
     if(event.getSource == userBox) { 
      if(!userBox.getText().isEmpty()) 
      { 
      System.out.println("Lol"); 
      } 
     } 
    } 
} 
1

Попробуйте это ..

if(!userBox.getText().equals("")) 
 
{ 
 
    \t System.out.println("ABC"); 
 
}