Tach,
du hast mich falsch verstanden.
nein, du mich; ich weiß was dein Code tut.
Wie man sieht habe ich eine Variable zahl, die mit 0 beginnt. In einer Schleife wird sie so lange hochezählt, bis 20 erreicht wurde.
ja, warum du für eine Zählschleife while und nicht for verwendest, verstehe ich zwar nicht, aber das hatte ich in meinem Code ja korrigiert.
In der Schleife bekommt ein String den Wert dieser Zahl, also im ersten durchlauf 0. Danach wird ein JLabel definiert, der den Namen des Strings name haben soll, welcher eine zeile davor den wert des Integers zahl erhalten hat. Somit würde der erste JFrame 0 heissen und der letzte 20.
1. Java-Bezeichner können nicht mit einer Ziffer beginnen.
2. Variable Variablennamen deuten darauf hin, dass der Programmierer etwas falsches tut.
3. Du möchtest _wirklich_ ein Collectible/Array/Liste/Set… mit JLabels haben.
4. Vermutlich möchtest du statt "xy" einen von i abhängigen String zuweisen.
Leider weiss ich nicht, wie die Syntax dafür ist, um einem JFrame eine Variable als Namen zuzuweisen.
Der Name des JFrames hat nichts mit dem Variablennamen des JLabels zu tun, sondern ausschließlich mit dem Inhalt des JLabels, die werden in deinem Beispiel allerdings alle auf "xy" gesetzt und sollten wohl eher von i abhängig sein.
Du hast dann eine Liste von 20 JLabels mit denen du dann weiterarbeiten kannst (einfacher wäre es vermutlich gleich alles in der Schleife zu erledigen.)
mfg
Woodfighter