使用DocumentListener Java基于文本字段输入禁用或启用按钮

使用DocumentListener Java基于文本字段输入禁用或启用按钮,java,swing,Java,Swing,我的用户界面中有大约10个jtextfield和一个按钮。我想在界面初始化时禁用该按钮,并在所有文本字段都不为空时启用它。我试着在网上搜索这个问题,但有人说这是不可能的。我的文本字段和按钮不是硬编码的,但它们是通过拖放完成的。是否真的没有在拖放jTextfield上实现DocumentListener的解决方案 公共类寄存器扩展javax.swing.JFrame实现DocumentListener{ private List textfields=new ArrayList(); public

我的用户界面中有大约10个jtextfield和一个按钮。我想在界面初始化时禁用该按钮,并在所有文本字段都不为空时启用它。我试着在网上搜索这个问题,但有人说这是不可能的。我的文本字段和按钮不是硬编码的,但它们是通过拖放完成的。是否真的没有在拖放jTextfield上实现DocumentListener的解决方案

公共类寄存器扩展javax.swing.JFrame实现DocumentListener{
private List textfields=new ArrayList();
public void addTextField(){
textfields.add(TextField1);
textfields.add(TextField2);
textfields.add(TextField3);
textfields.add(TextField4);
textfields.add(TextField5);
textfields.add(TextField6);
textfields.add(TextField7);
textfields.add(TextField8);
textfields.add(TextField9);
textfields.add(TextField10);
for(int i=0;i退出:用于可重用的解决方案。
public class Register extends javax.swing.JFrame implements DocumentListener{
private List<JTextField> textfields = new ArrayList<JTextField>();


public void addTextField(){
    textfields.add(TextField1);
    textfields.add(TextField2);
    textfields.add(TextField3);
    textfields.add(TextField4);
    textfields.add(TextField5);
    textfields.add(TextField6);
    textfields.add(TextField7);
    textfields.add(TextField8);
    textfields.add(TextField9);
    textfields.add(TextField10);
    for(int i =0;i<textfields.size ();i++){
    textfields.get(i).getDocument().addDocumentListener(this);
}
    
}
public boolean isDataEntered()
{
    for (JTextField textField : textfields)
    {
        if (textField.getText().trim().length() == 0)
            return false;
    }

    return true;
}

@Override
public void insertUpdate(DocumentEvent de) {
   checkData();
}

@Override
public void removeUpdate(DocumentEvent de) {
    checkData();
}

@Override
public void changedUpdate(DocumentEvent de) {
    checkData();
}
private void checkData(){
    jButton2.setEnabled(isDataEntered());
}

private javax.swing.JTextField TextField1;
private javax.swing.JTextField TextField10;
private javax.swing.JTextField TextField2;
private javax.swing.JTextField TextField3;
private javax.swing.JTextField TextField4;
private javax.swing.JTextField TextField5;
private javax.swing.JTextField TextField6;
private javax.swing.JTextField TextField7;
private javax.swing.JTextField TextField8;
private javax.swing.JTextField TextField9;
private javax.swing.JButton jButton2;