2016-12-02 63 views
0

我制作了一个聊天客户端应用程序,并且卡在登录对话框中。基本上,我想要注册按钮事件来检测用户是否输入任何内容到字段框中。此代码不起作用。如何检测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 userBox不会为空。 –

回答

1

您可以检查它是否是空的(在这种情况下,不为空)两种方式:使用isEmpty( )或equals("")

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

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

非常感谢!使用==或.equals时有什么区别? ==整数? –

+1

@DeanHampson'=='检查*引用相等*,即“这两个引用指向完全相同的对象吗?”。 '.equals'检查逻辑相等,即“这两个对象是否代表相同的事物?”。整数的==是一种特殊情况,如果你只是坚持使用'.equals',它就更简单了。 – JonK

1

试试这个代码

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"); 
 
}