Guden Tach!
Um zu überprüfen, ob alle Pflichtfelder gefüllt wurden, möchte ich gerne alle Controls eines JFrame-Formulars durchlaufen und ihren Namen überprüfen (Name wurde bereits eingetragen)
Naja, so hatte ich mir das jedenfalls vorgestellt. Dummerweise entält das Array controls nur ein Element. Erste Frage ist jetzt:
Wo finde ich den Container, in dem alle Controls abgespeichert sind?
Zweite Frage: Ich habe fast alle Controls zur Gruppierung in JPanels gepackt. Ergibt sich dadurch für mich ein Nachteil (falls es eine Lösung zur ersten Frage gibt)?
Danke schonmal fürs Lesen 😉
Um zu überprüfen, ob alle Pflichtfelder gefüllt wurden, möchte ich gerne alle Controls eines JFrame-Formulars durchlaufen und ihren Namen überprüfen (Name wurde bereits eingetragen)
Code:
/**
* Überprüft die Pflichtfelder.
* @param pflichtfelder Namen der Controls, die überprüft werden sollen.
* @return false, wenn nicht in jedem Control Werte eingetragen wurden.
*/
public boolean pruefePflichtfelder(String[] pflichtfelder,
Component control) {
java.awt.Component[] controls = this.getComponents();
boolean ergebnis = true;
for (int i = 0; i < pflichtfelder.length && ergebnis; i++) {
for (int j = 0; j < controls.length && ergebnis; j++) {
if (controls[j].getName() != null) {
if (controls[j].getName().equals(pflichtfelder[i])) {
if (controls[j] instanceof javax.swing.JTextField) {
if (((javax.swing.JTextField) controls[j]).getText().equals("")) {
ergebnis = false;
control = controls[j];
}
}
}
}
}
}
return ergebnis;
}
Wo finde ich den Container, in dem alle Controls abgespeichert sind?
Zweite Frage: Ich habe fast alle Controls zur Gruppierung in JPanels gepackt. Ergibt sich dadurch für mich ein Nachteil (falls es eine Lösung zur ersten Frage gibt)?
Danke schonmal fürs Lesen 😉