我设计了一个简单的登陆窗体,账号文本框名为ID,密码文本框名为Password,登陆按钮
然后我在一个方法中写了如下的代码
public boolean verifiedInput(){
    String id=this.ID.getText().trim();
    if(id.equals("")){
     JOptionPane.showMessageDialog(this, "帐号不能为空!", "错误", JOptionPane.ERROR_MESSAGE);
     return false;
     }
     String pwd=this.Password.getText().trim();
     if(pwd.equals("")){
      JOptionPane.showMessageDialog(this, "密码不能为空!", "错误", JOptionPane.ERROR_MESSAGE);
      return false;
      }
    return true;
}
问题是这个方法在调用的时候,无论账号文本框里面的内容是不是为空,只要一单击登陆按钮,它就弹出“帐号不能为空!”这个提示。哪位高手知道是怎么回事?

解决方案 »

  1.   

    String id=this.ID.getText().trim(); 
    你打印一下这个id估计他是""
    也就是this.ID.getText().trim(); 有问题
      

  2.   

    ID是关键字啊,
    你换个名字吧比如accountId
      

  3.   

    你的用户名输入框是实例域嘛?比如外部声明的private JTextField ID;然后你调用this.ID.getText()才会得到输入的值吧
      

  4.   

    我觉得是if语句有问题,你用正则表达是匹配看看。
    还有String id=this.ID.getText().trim(); 你不妨把它打印出来看看到底是什么字符串。