Einfach nur als Instanzvariable deklarieren. Du hast ja eine doppelte Deklaration verwendet:
Trotz der ersten Deklaration ganz oben als Instanzvariable wird diese nicht gefüllt. Denn das, was Du in der Methode tust, ist eine andere Variable xa zu erzeugen und auch zu füllen.
Ändere das um in
und alles wird gut. Analog mit den anderen Arrays vorgehen.
Wenn Variablen in der Klasse deklariert sind, sind sie auch in allen Methoden der Klasse sichtbar. Wenn sie in Methoden deklariert werden, sind sie nur in diesen Methoden sichtbar usw. Wie gesagt, lies das besser noch mal detailliert nach.
Code:
private TextField[] xa;
private TextField[] ya;
private TextField[] za;
public void felder(int i) {
TextField[] xa = new TextField[i];
Ändere das um in
Code:
public void felder(int i) {
xa = new TextField[i];
Wenn Variablen in der Klasse deklariert sind, sind sie auch in allen Methoden der Klasse sichtbar. Wenn sie in Methoden deklariert werden, sind sie nur in diesen Methoden sichtbar usw. Wie gesagt, lies das besser noch mal detailliert nach.