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

2 回答 2

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);
于 2013-09-29T10:44:06.053 回答
0

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

if ((tfFirst.getText().trim()).length() > 0 && (tfLast.getText().trim()).length() > 0) 
于 2013-09-29T10:41:00.237 回答