gpt4 book ai didi

java - 禁用 Java 中的按钮,直到填满所有字段

转载 作者:行者123 更新时间:2023-12-02 03:49:55 27 4
gpt4 key购买 nike

我是 Java 新手,正在开发一个小项目。我正在制作一个程序,用户必须自己注册。我的选项卡 Pane 上有 3 个不同的选项卡。我希望能够禁用第一个 Pane 上的下一步按钮,使用户无法<除非 Pane 1 上的所有文本字段都已填充,否则继续 Pane 2。我一直在网上搜索并找到了各种示例,但它们都不能在运行时工作。

我正在使用 Netbeans。

  private void txtFirstNameActionPerformed(java.awt.event.ActionEvent evt) {                                             

if(txtFirstName.getText().trim().length() > 0)

btnNext1.setEnabled(true);
else
btnNext1.setEnabled(false);
}

最佳答案

创建 Pane 上所有文本字段的列表:

List<JTextField> list = new ArrayList<>();

将所有文本字段添加到该列表中。

然后,创建一个通用的 DocumentListener 来监听文本更改事件,并且每次发生文本更新时,扫描所有文本字段以查看它们是否已全部填充:

DocumentListener listener = new DocumentListener() {
@Override
public void removeUpdate(DocumentEvent e) { changedUpdate(e); }
@Override
public void insertUpdate(DocumentEvent e) { changedUpdate(e); }

@Override
public void changedUpdate(DocumentEvent e) {
boolean canEnable = true;
for (JTextField tf : list) {
if (tf.getText().isEmpty()) {
canEnable = false;
}
}
btnNext1.setEnabled(canEnable);
}
};

并将该监听器添加到列表中的每个文本字段中:

for (JTextField tf : list) {
tf.getDocument().addDocumentListener(piecesListener);
}

关于java - 禁用 Java 中的按钮,直到填满所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com