3

我正在制作一个快递程序,用户可以在其中创建一个新帐户。我想要一个用户在填写文本字段之前无法按下的下一个按钮。

因此,空白的姓名字段和姓氏字段意味着无法按下下一个按钮,但如果已填写字段,则可以按下下一个按钮

4

3 回答 3

4

将这样的 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);
        }
    });

这将检查这两个字段是否不为空,每次在字段中按下一个键。如果条件为真,将启用下一步按钮。

于 2012-10-27T16:11:17.623 回答
1

简单来说,试试类似的东西。

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);
}
});
于 2012-10-27T16:05:16.450 回答
0

在您的 actionPerformed 方法中,对于每个 actionEvent 检查,检查是否填写了必填字段,如果是,请设置您的按钮 setEnabled(true)。如果您可以向我们展示您的代码,也许可以提供更好的答案。

于 2012-10-27T16:04:03.270 回答