erweiterte for schleife kein new?

Gustl_Java

Aktives Mitglied
Hallo, warum kann ich soetwas nicht machen?

Java:
JTextField[] days_tf = new JTextField[5];

for(JTextField tf : days_tf)
{  tf = new JTextField();   //<---
    tf.setColumns(15);
}

Er bringt mir NullPointerException, klar, weil die TextFields im array nicht instanziiert sind.
Kann ich das in der vereinfachten Forschleife nicht machen, oder mache ich da etwas falsch?

Gruß Gustl
 
Wie willst du das denn machen? Du versucht innerhalb der ForEach eine nicht existierende Instanz aus dem Array zu holen, das kann nicht funktionieren.

Nimm halt eine normale For-Schleife mit Index-Variable.
 
die NullPointerException kommt aber nicht an der code Stelle oder?

ok sagen wir days_tf[0] zeigt auf null,
du sagst tf zeig dort hin wo days_tf[0] hinzeigt..
tf zeigt auf null

zeile 4: tf zeig auf das neue JTextField...
days_tf[0] zeigt aber noch immer auf null :-(

ist so... wenn ich dirs aufzeichnen würde wärs verständlicher..

also du must schon mit
for(int i = 0; i <days_tf.length; i++){
days_tf[0] = ... usw arbeiten..
 
Oh, danke für die vielen Antworten. 🙂

Ja, ist meine erste Begegnung mit dieser Schleife und ich dachte es würd irgendwie gehen 🙂

Gut gut, dann nehme ich eine normale for schleife. Danke.


Nein, die NullPointerException tritt beim hinzufügen der fields ins frame auf.

Gruß Gustl
 

Zurück
Oben