在填写必填字段之前禁用JButton所需的建议 - Java

时间:2012-10-27 16:00:08

标签: java jbutton textfield

我正在制作一个快递程序,用户可以在其中创建一个新帐户。 我希望有一个用户无法按下的下一个按钮,直到填写了文本字段。

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

3 个答案:

答案 0 :(得分: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);
        }
    });

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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);
}
});
相关问题