我正在制作一个快递程序,用户可以在其中创建一个新帐户。我想要一个用户在填写文本字段之前无法按下的下一个按钮。
因此,空白的姓名字段和姓氏字段意味着无法按下下一个按钮,但如果已填写字段,则可以按下下一个按钮
将这样的 KeyListener 添加到您的字段中:
nameField.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if(nameField.getText().length() > 0 && surNameField.getText().length() > 0)
nextButton.setEnabled(true);
else
nextButton.setEnabled(false);
}
});
这将检查这两个字段是否不为空,每次在字段中按下一个键。如果条件为真,将启用下一步按钮。
简单来说,试试类似的东西。
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);
}
});
在您的 actionPerformed 方法中,对于每个 actionEvent 检查,检查是否填写了必填字段,如果是,请设置您的按钮 setEnabled(true)。如果您可以向我们展示您的代码,也许可以提供更好的答案。