# Eingabefelder einer Maske löschen



## d_ausstroit (22. September 2006)

Hai.
Ich habe eine Maske mit sehr vielen Eingabefeldern (Textfelder und Combo-Boxen). Nun möchte ich alle Inhalte der Eingabefelder nachdem Betätigen eines Buttons löschen. Allerdings nicht alle einzeln.

Ich suche also eine Möglichkeit alle Felder der Maske zu durchlaufen und wenn es sich um ein Textfeld oder eine Combo-Box handelt, den Inhalt zu löschen.

Vielen Dank im voraus für Eure Hilfe und Vorschläge

Dirk


----------



## MeinerEiner_80 (22. September 2006)

Moin!
Sind die Componenten alle in einem Container enthalten, dann bekommst du mit "getComponents()" einen Array mit eben diesen Komponenten.
Mit dem instanceof - Operator kannst du überprüfen, um welchen Componententyp es sich genau handelt, und dann entsprechend den Inhalt löschen:

```
Component[] childs = parentContainer.getComponents();
for(Component child : childs){
    if(child istanceof JTextField)
        ((JTextField)(child)).setText("");
    else ....
}
```

*grüssle*
MeinerEiner


----------



## d_ausstroit (22. September 2006)

Moin MeinerEiner_80.

Meine Felder liegen alle auf verschiedenen JPanel. Wenn ich Dein Beispiel übernehme, kennt er das "parentContainer" nicht.

Wo liegt mein Fehler?


----------



## MeinerEiner_80 (22. September 2006)

Der Name "parentContainer" war nur als Beispiel gedacht. Keiner deiner Panels heißt wahrscheinlich parentContainer, da muss dann eine Referenz zu eben diesen Panels stehen.

Es funktioniert auch, wenn alle deine Panels in einem Fenster liegen. Dann kann man das Beispiel ein wenig abwandeln. Wenn sie in verschiedenen Fenstern liegen, musst du wohl oder übel für jedes einzelne Panel die Methode aufrufen.
Hierbei ist nun parentContainer der Container, der alle anderen beinhaltet( Kann zum beispiel ein JFrame sein)



```
....
clearAll(parentContainer);
...

public void clearAll(Container parentContainer){
Component[] childs = parentContainer.getComponents();
for(Component child : childs){
    if(child istanceof JTextField)
        ((JTextField)(child)).setText("");
    else if(child instanceof Container)
       clearAll((Container)child)
    else...
}
}
```
*grüssle*
MeinerEiner


----------

