Hallo!
Ich habe ein neues Programm angefangen und ein mir unerklärliches Problem gefunden.
Ich bekomme beim Starten des Programms eine NullPointerException für ein JLabel-Array, das ich aber eigentlich mit
deklariere.
Hat jemand eine Ahnung, woran das liegen könnte?
Ich habe die Klasse "Graphical" hier mal vereinfacht:
Hier noch einmal meine Fehlerausgabe:
Ich hoffe um Antwort und danke schonmal im Vorraus!
MfG spinni
EDIT: Gelöst, danke an discipulo!
Neuer Code:
Ich habe ein neues Programm angefangen und ein mir unerklärliches Problem gefunden.
Ich bekomme beim Starten des Programms eine NullPointerException für ein JLabel-Array, das ich aber eigentlich mit
Code:
JLabel[][] world = new JLabel[5][5];
Hat jemand eine Ahnung, woran das liegen könnte?
Ich habe die Klasse "Graphical" hier mal vereinfacht:
Java:
//importe
import javax.swing.*;
import javax.swing.event.*;
//Klasse wird deklariert.
public class Graphical extends JFrame
{
private int xWorld = 5;
private int yWorld = 5;
//Dieses zweidimensionale JLabel-Array müsste mit [5][5] korrekt
//erstellt werden (kein Compiler-Fehler)
private JLabel[][] world = new JLabel[xWorld][yWorld];
public Graphical (String title)
{
//Hier wäre der Grundaufbau, ist aber unnötig.
//Alle JLabels im JLabel-Array sollen ihre Bounds bekommen
// und auf den Container cp gesetzt werden.
for (int i = 0; i < xWorld; i++)
{
for (int j = 0; j < yWorld; j++)
{
world[i][j].setBounds(50 + 32*i, 50 + 32*j, 32, 32);
cp.add(world[i][j]);
}
}
}
//Hier wären die Methoden...
//Main-Methode
public static void main(String[] args)
{
new Graphical ("Graphical");
}
}
Java:
Exception in thread "main" java.lang.NullPointerException
at Graphical.<init>(Graphical.java:39) // entspricht in der Vereinfachung Zeile 24
at Graphical.main(Graphical.java:57) // entspricht in der Vereinfachung Zeile 36
MfG spinni
EDIT: Gelöst, danke an discipulo!
Neuer Code:
Java:
//...
for (int i = 0; i < xWorld; i++)
{
for (int j = 0; j < yWorld; j++)
{
world[i][j] = new JLabel(); //NEUE ZEILE
world[i][j].setBounds(50 + 32*i, 50 + 32*j, 32, 32);
cp.add(world[i][j]);
}
}
//...
Zuletzt bearbeitet: