我正在制作一个用户可以创建新帐户的快递程序。 我想有一个下一个按钮,用户不能按下,直到文本字段已被填充。在填写必填字段之前禁用JButton所需的建议 - Java
所以一个空白名称字段和姓氏字段将意味着下一个按钮不能按下,但如果字段已填写,可以按下一个按钮
我正在制作一个用户可以创建新帐户的快递程序。 我想有一个下一个按钮,用户不能按下,直到文本字段已被填充。在填写必填字段之前禁用JButton所需的建议 - Java
所以一个空白名称字段和姓氏字段将意味着下一个按钮不能按下,但如果字段已填写,可以按下一个按钮
这样添加的KeyListener到您的领域(未测试):
nameField.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if(nameField.getText().length() > 0 && surNameField.getText().length() > 0)
nextButton.setEnabeld(true);
else
nextButton.setEnabled(false);
}
});
这将检查这两个字段是否为空,每次在该字段中按下一个键。如果条件为真,则将启用下一个按钮。
在您的actionPerformed方法中,对于每个actionEvent检查,检查是否填写了必填字段,如果是,请设置您的按钮setEnabled(true)。如果您可以向我们展示您的代码,也许可以提供更好的答案。
简单来说,尝试一下。
String text = textField.getText();
if (text.length()>0)
button.setEnabled(true);
...
如果你想拥有的飞行,然后它的一个比较复杂的按钮进行启用
编辑:
复杂的案件:
Document textFieldDoc = myTextField.getDocument();
textFieldDoc.addDocumentListener(new DocumentListener() {
void changedUpdate(DocumentEvent e) {
updated(e);
}
void insertUpdate(DocumentEvent e) {
updated(e);
}
void removeUpdate(DocumentEvent e) {
updated(e);
}
private void updated(DocumentEvent e) {
boolean enable = e.getDocument().getLength() > 0;
myButton.setEnabled(enable);
}
});
这正是我想要做的,只要用户填写字段 – fez
就启用按钮在这种情况下,您必须添加一个文档侦听器,只要用户修改了文本字段,然后在更新中功能,你可以setEnabled按钮 – LivingThing
这一个工作非常感谢你! – fez
没问题。如果用户再次删除文本,您也不想禁用该按钮。已经更新了答案以反映这一点。 – CleanUp
它不适用于nameField.getText()。length()> 0 || surNameField.getText()。length()> 0 –