Java,如果条件适用于所有类的实例

时间:2015-06-20 19:13:39

标签: java swing class if-statement inner-classes

我尝试使用多个文本字段对GUI进行编码。我使用JTextfield命令。我创建了几个文本字段,每个文本字段都由CaretListener检查。

有没有办法通过自动运行所有CaretListeners来自动检查每个Textfield的内容?我不想单独调用每个文本字段,因为最终会有太多。我的代码如下:

...

//创建4个文本字段(Textzuhorer是CaretListener的内部类)

    klasse = new JTextField();
    klasse.setBounds(0, 25, 50, 30);
    klasse.setToolTipText("Geben Sie hier die Klasse ein, für die Sie  Stunden festlegen wollen");
    klasse.addCaretListener(new Textzuhorer());
    zeile.add(klasse);


    fach = new JTextField();
    fach.setBounds(60, 25, 80, 30);
    fach.setToolTipText("Geben Sie hier das Fach/die Leiste ein");
    fach.addCaretListener(new Textzuhorer());
    zeile.add(fach);

    stunden = new JTextField();
    stunden.setBounds(150,25,40,30);
    stunden.setToolTipText("Geben Sie hier die Anzahl Stunden pro Woche an");
    stunden.addCaretListener(new Textzuhorer());
    zeile.add(stunden);

    raum = new JTextField();
    raum.setBounds(200, 25, 60, 30);
    raum.setToolTipText("Geben Sie hier die Raumart ein");
    raum.addCaretListener(new Textzuhorer());
    zeile.add(raum);

...而不是一个接一个地调用它们,是否有任何自动化过程?

    private class Textzuhorer implements CaretListener {

    public void caretUpdate(CaretEvent e) {
        **if (klasse.getText().trim().isEmpty() | fach.getText().trim().isEmpty() | 
            stunden.getText().trim().isEmpty()| raum.getText().trim().isEmpty())** {

            button.setEnabled(false);

        } else {
            button.setEnabled(true);
        }

    }

}

非常欢迎任何建议;)

0 个答案:

没有答案