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

问题描述 投票:2回答:3

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

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

java jbutton textfield
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);
        }
    });

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


0
投票

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


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);
}
});
© www.soinside.com 2019 - 2024. All rights reserved.