Array-Fehler - versteh es nicht.

Tithilion

Mitglied
Dieser Code Funktioniert:
Code:
public JButton bilderButtons[];
public int laenge_Liste;
...
laenge_Liste= xnamensliste.length; // zb. 10
....
bilderButtons = new JButton[laenge_Liste]; 
bilderButtons[0].setBackground(Color.BLUE);

Dieser nicht... obwohls doch eig. das selbe ist?!:
Code:
public JLabel mitte_Label[];
public int anzahlUhren
....
anzahlUhren = übergangsInt;  //zb.3
...
mitte_Label = new JLabel[anzahlUhren];
mitte_Label[0].setText("1"); <-- hier kommt "java.lang.NullPointerException"


Habs jetzt vereinfacht, aber im Grunde ist das so wie oben angegeben...
bekomme immer den Fehler" java.lang.NullPointerException"... weiß nicht wieso.
 
Zuletzt bearbeitet:
Ich könnte mich ja irren, aber in beiden Fällen steht im ersten Feld doch garnichts drinnen, oder?
Und ändere umbedingt die Varnamen.
 
Ich könnte mich ja irren, aber in beiden Fällen steht im ersten Feld doch garnichts drinnen, oder?
Wie soll in einem Button was drin stehen? Is ja kein String-Array. Könntest du das an nem Beispiel hierzu erklären?

Und ändere umbedingt die Varnamen.
Geändert!


//edit: hab nun noch ein
Code:
mitte_Label[i] = new JLabel("test: " + i );
vor dem fehler eingebaut... jetzt "scheint" es zu funktionieren.. dachte hätte das mit dem globalen schon iniziiert... so kann man sich irren.. mal weiter probieren
 
Zuletzt bearbeitet:
Wieso loopst du denn nicht durch eine for schleife?
Etwa so:
Java:
JButton[] b = {null,null,null,null,null,null,null,null,null,null,null};
for(int i = 0;i < 10;i++){
b[i] = new JButton("Hi");
}
Ist meine Idee. Hoffe es hilft dir
 
Zuletzt bearbeitet von einem Moderator:
Wieso loopst du denn nicht durch eine for schleife?
Etwa so:
Java:
JButton[] b = {null,null,null,null,null,null,null,null,null,null,null};
for(int i = 0;i < 10;i++){
b[i] = new JButton("Hi");
}
Ist meine Idee. Hoffe es hilft dir

hab ja ne forschleife drum rum ;) wollte die nur hier weglassen damit übersichtlicher bleibt
 
Zuletzt bearbeitet von einem Moderator:
Hasts ja eh schon rausgefunden, einfach nochmal zum erklären:

Code:
mitte_Label = new JLabel[anzahlUhren];
mitte_Label ist ein Array von x JLabel Referenzen, aber es sind noch keine Referenzen drin.
Code:
        for (int i = 0; i < anzahlUhren; i++) {
            mitte_Label[i] = new JLabel();
        }

Nun sind im Array auch tatsächlich Referenzen auf existierende JLabels vorhanden, die du verwenden kannst.
 

Neue Beiträge

Zurück