所以我知道这是一个很受欢迎的问题并且已经找到了解决方案。但当我尝试这样做时,它无法正常工作。
我的 JTextField 为空并且按钮未启用。当我在文本字段中写入内容时,按钮不会启用。
所以我的程序应该每秒检查该字段是否为空。一旦有人在文本字段中写入内容,按钮就应该被启用。^^
loginbt = new JButton("Login");
loginbt.addActionListener(new loginHandler());
add(loginbt);
if(name.getText().equals("")) {
loginbt.setEnabled(false);
}else {
loginbt.setEnabled(true);
}
为此,您需要添加更改侦听器(DocumentListener
它对文本的变化做出反应)为您JTextField
,并且在actionPerformed()
,您需要更新loginButton
启用/禁用取决于是否JTextfield
是否为空。
下面是我从中发现的thread https://stackoverflow.com/questions/3953208/value-change-listener-to-jtextfield.
yourJTextField.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
changed();
}
public void removeUpdate(DocumentEvent e) {
changed();
}
public void insertUpdate(DocumentEvent e) {
changed();
}
public void changed() {
if (yourJTextField.getText().equals("")){
loginButton.setEnabled(false);
}
else {
loginButton.setEnabled(true);
}
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)