好的,所以我想在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 :(得分:0)
您的姓氏可能有一个尾随空格,您可能没有意识到。因此,在检查长度之前,最好使用trim
。假设tfFirst
和tfLast
名称都不为空,您可以尝试:
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);