2013-09-29 41 views
1

好的,所以我想在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); 
      } 
     } 
}); 
} 

回答

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); 
0

您的姓氏中可能会有一个尾随空格,您可能没有意识到这一点。所以在检查长度之前最好使用trim。假设两个tfFirsttfLast名不为空,你可以试试这个:

if ((tfFirst.getText().trim()).length() > 0 && (tfLast.getText().trim()).length() > 0) 
相关问题