![](/img/trans.png)
[英]How to disable the button in the form until the user fill the important fields
[英]Disable button in Java until all fields filled
我是Java的新手,正在开发一个小项目。 我正在制作一个用户必须注册自己的程序。 我的选项卡式窗格中有3个不同的选项卡。 我希望能够禁用 第一窗格使它不可能为用户 继续窗格2,除非所有的下一个按钮 text
上的窗格1场已经排满 。 我一直在网上搜索,发现了各种示例,但是它们都无法在运行时正常工作。
我正在使用Netbeans。
private void txtFirstNameActionPerformed(java.awt.event.ActionEvent evt) {
if(txtFirstName.getText().trim().length() > 0)
btnNext1.setEnabled(true);
else
btnNext1.setEnabled(false);
}
创建窗格上所有文本字段的List
:
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);
}
};
并将该listener
添加到列表中每个文本字段中:
for (JTextField tf : list) {
tf.getDocument().addDocumentListener(piecesListener);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.