# jTextField in Schleife ausfuellen



## rima (13. Mai 2009)

Hallo,
Ich will 64 jTextField in einer Schleife ausfuellen und nicht alles einzeln schreiben.
Ich bin Blutiger Anfaenger und finde einfach nicht wie das in Java geht.


```
public void schreibtemp(){
    
    jTextField1.setText(Main.tempdata_1[0] + " °C");
    jTextField2.setText(Main.tempdata_1[1] + " °C");
    jTextField3.setText(Main.tempdata_1[2] + " °C");
    jTextField4.setText(Main.tempdata_1[3] + " °C");
    ...
    jTextField64.setText(Main.tempdata_1[63] + " °C");
}
```

So funktioniert es einwandfrei, ist aber etwas laestig.
Ich suche wie man es ungefaehr so macht.


```
public void schreibtemp1(){
    
    for (int i=0 ; i <64 ; i++)
    {
        "jTextField"+i.setText (Main.tempdata_1[i] + " °C");
    }
}
```

Ein jTextField[] Array scheitet eigentlich aus, da ich die Felder mit dem NetBeans Designer Quer durch das Fenster auf einem Bild verteilt habe und ich da bei der erstellung Probleme habe.

Gruss Matthias


----------



## SlaterB (13. Mai 2009)

ohne Array gehts nicht, du kannst ja nachträglich ein Array anlegen und befüllen, ganz unabhängig von NetBeans,
um einmalig 64 langweilige Zeilen kommst du dann nicht herum (von ganz obskuren Verfahren abgesehen)
aber immerhin nur einmal, und wichtiger Code wie schreibtemp1() kann dann das fertige Array nutzen


----------



## max40 (13. Mai 2009)

Wenn alle JTextField auf einem Panel oder sonstiges liegen (und keine anderen JTextField) und alle der Reheinfolge nach eingfügt wurden, also 

```
add(jTextField1);
add(jTextField2);
add(jTextField3);
```

könntest du die Childs vom Panel durchgehen und immer wenn es sich um ein JTextField handelt, einem JTextField[] hinzufügen!

Ich denke das könnte klappen!


----------



## hiti (13. Mai 2009)

Ein jTextField[] Array scheitet eigentlich aus, da ich die Felder mit dem NetBeans Designer Quer durch das Fenster auf einem Bild verteilt habe und ich da bei der erstellung Probleme habe.

Du kannst z.B. einfach alle jTextFields aus dem Panel dynamisch einsammeln und dann jedes einzelne befüllen.

		Component[] components = this.getComponents();
		for (int i = 0; i < components.length; i++) {
			if (components_ instanceof JTextField) {
				....
			}
		}

Gruss, hiti_


----------



## rima (13. Mai 2009)

Oh das geht ja schnell hier

Die loesung von hiti gefaellt mir da fast noch am besten, nur woher weiss ich dann welches Feld welch nummer hat? Kommen sie der Reihenfolge nach wie sie eingerichtet worden sind?


----------

