当两个文本字段为空时禁用按钮

时间:2013-09-29 10:39:13

标签: java awt

好的,所以我想在tfLastName和tfFirstname为空时禁用按钮。我目前正在使用此代码段,但即使tfLastName为空,它也会启用该按钮。我该怎么做才能解决这个问题?任何意见都将不胜感激。

public void launchFrame(){
//irrelevant code
tfLastName.addKeyListener(null);
tfFirstName.addKeyListener (new java.awt.event.KeyAdapter()
{  
  public void keyReleased(java.awt.event.KeyEvent evt) 
          {  
            super.keyReleased(evt);
            if (tfFirst.getText().length() > 0 && tfLast.getText().length() > 0) 
            {  
                bAdd.setEnabled(true);  
            } else 
            {  
                bAdd.setEnabled(false);  
            }  
        }  
});
}

2 个答案:

答案 0 :(得分:0)

您的姓氏可能有一个尾随空格,您可能没有意识到。因此,在检查长度之前,最好使用trim。假设tfFirsttfLast名称都不为空,您可以尝试:

if ((tfFirst.getText().trim()).length() > 0 && (tfLast.getText().trim()).length() > 0) 

答案 1 :(得分:0)

您应该为两个输入字段添加相同的侦听器:

KeyAdapter adapter = KeyAdapter()
{  
  public void keyReleased(java.awt.event.KeyEvent evt) 
          {  
            super.keyReleased(evt);
            if (tfFirst.getText().trim.length() > 0 && tfLast.getText().trim.length() > 0) 
            {  
                bAdd.setEnabled(true);  
            } else 
            {  
                bAdd.setEnabled(false);  
            }  
        }  
};
tfLastName.addKeyListener(adapter);
tfFirstName.addKeyListener(adapter);