我尝试使用多个文本字段对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);
}
}
}
非常欢迎任何建议;)