# Textfelder leeren



## Manuela (22. Jul 2007)

Hallo ich habe in einem Frame ca. 40 JTextFields und jetzt will ich die möglichkeit mach das ich diese aufeinmal löschen kann also habe ich mir folgenden Code entwickelt, aber es geht nicht und ich weis nicht warum.
in einem anderen Projekt geht desselbe Code tadellos.


```
public void clearText() {
                Component[] ca = this.getComponents();
                for (int i = 0; i < ca.length; i++) {
                        Component c = ca[i];
                        if (c
                                .getClass()
                                .toString()
                                .equals("class javax.swing.JTextField")) {
                                JTextField b = (JTextField) c;
                                b.setText("");

                        }
                }       
      
  }
```

die Entwicklungsumgebung ist NetBeans 6.0  

wo ist mein Fehler???

Gruß Manuela


----------



## Leroy42 (22. Jul 2007)

Schreib' doch einfach

```
if (c instanceof JTextField)
...
```


----------



## Manuela (22. Jul 2007)

Hallo geht auch nicht,

gruß Manuela

es kommt keine Fehlermeldung


----------



## Marco13 (22. Jul 2007)

Vielleicht helfen Debug-Ausgaben...

```
public void clearText() {

           System.out.println("clearText wurde aufgerufen");

                Component[] ca = this.getComponents();

               System.out.println("ca.length "+ca.length );

                for (int i = 0; i < ca.length; i++) {

                        Component c = ca[i]; 

                        System.out.println("ca["+i+"] ist "+c+");
                        System.out.println("Ist das ein TextField? " + (c instanceof JTextField));
                         
                        if (c instanceof JTextField) ...
```


----------



## Manuela (22. Jul 2007)

Hallo,

habe das problem erkannt.

ich habe die jTextFields in verschiedene JPanels und dadurch komme ich nicht an die Textfelder ran 
sondern nur an die Panels 

also muß ich die Panels ansprechen


```
Component[] ca = this.getComponents(); //hier komme ich nur an die Panels ran

Component[] ca = jPanel1.getComponents(); //und hier spreche ich den Inhalt des Panel an
```

das ist der Fehler den ich gemacht habe.

danke für eure Hilfe

Gruß Manuela :toll:


----------



## brummfondel (22. Jul 2007)

Wie und wo speicherst du denn die Textfields um sie später auszulesen? Doch nicht etwa über Variablen? Da würde dich doch ein HashSet oder eine HashMap anbieten. Dann wäre das Löschen auch viel einfacher.


----------



## Manuela (23. Jul 2007)

Hallo,

ich speichere die Daten in eine MySQL Datenbank

und lese die direkt in die Textfelder wieder ein.

Gruß Manuela.


----------

