Compiler-Fehler NullPointerException lösen

Ich erhalte bei folgendem Code folgende Fehler:
Java:
mport javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
* Created by kanda on 16.05.17.
*/
public class PlayGround {
    private JPanel jPanel2;
    private JButton button1;
    private Spielkarte[][] Spielfeld = new Spielkarte[3][3];


    public PlayGround() {
        button1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                generate();
            }
        });
    }

    public void generate() {
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                Spielfeld[i][j] = new Spielkarte();
                Spielfeld[i][j].setBounds(50 + (i * 30), 80 + (j * 30), 30, 30);
                Spielfeld[i][j].setBackground(new Color(0, 0, 0));
                Spielfeld[i][j].setForeground(new Color(0, 0, 0));
                Spielfeld[i][j].setMargin(new Insets(2, 2, 2, 2));
                Spielfeld[i][j].setText("");
                jPanel2.add(Spielfeld[i][j]);
            }
        }
    }



    public static void main(String[] args) {
        JFrame frame = new JFrame("PlayGround");
        frame.setContentPane(new PlayGround().jPanel2);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
        }
    }

Fehler:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.intellij.uiDesigner.core.GridLayoutManager.addLayoutComponent(GridLayoutManager.java:134)
    at java.awt.Container.addImpl(Container.java:1127)
    at java.awt.Container.add(Container.java:417)
    at PlayGround.generate(PlayGround.java:33)
    at PlayGround$1.actionPerformed(PlayGround.java:19)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Wie löse ich das Problem?
 
Folgender Stand: Wenn ich das Programm so ausführe öffnet sich ein Fenster und der Button1 ist zu sehen. Sobald dieser betätigt wird springt der Fehler auf, aber eine Spielkarte wird erstellt. (wie in create() beschrieben). Ab da ist dann Schluss.
Ich verwende die IntelliJ IDEA. Dafür, dass alle Elemente der GUI erstellt werden ist doch frame.pack() (Zeile 43) verantwortlich, oder?
 
Alles klar. Ich bin aus einer früheren Entwicklungsumgebung aus der Schulzeit gewohnt, dass GUI-Objekte, die man im Designer anordnet, automatisch im Quellcode erzeugt werden. Das heißt, dass ich das erst einmal von Hand nachholen muss.
 

MBadzura

Mitglied
pack() (aus der Klasse Windows vererbt) dient nur dazu, deinen Frame eine optimal Größe zu verpassen, d. h. die hinzugefügten Elemente so zusammenzustellen, dass diese am wenigstens Platz benötigen (theoretisch zumindest). Das hinzufügen der Elemente muss schon vorher passieren.
 

JStein52

Top Contributor
GUI-Objekte, die man im Designer anordnet,
Das ist jetzt aber ein neuer Gesichtspunkt. Hast du das mit dem Designer gemacht ? Kann es dann sein dass es noch Code dazu gibt den du uns nicht gezeigt hast ? In NetBeans ist der Code der vom Designer erstellt wird versteckt und muss erst aufgeklappt werden damit man ihn sieht

Edit: das würde auch dazu passen dass der Button1 angezeigt wird. Der taucht ja nicht aus einem Wurmloch einfach so auf.
 
Ich habe im Folgenden neu angesetzt. Hier sind alle Klassen. Ich habe mit dem Gui-Designer lediglich ein JPanel in einem JFrame erstellt.
Mein Ziel ist es ein Feld aus Karten generieren zu lassen. Das Feld soll generiert werden, sobald das Fenster geöffnet wird. Ich generiere mit der Methode generate() das Feld. Wenn es beim Starten geöffnet werden soll müsste es ja in die main Methode. Dann bekomme ich aber den Fehler: non-static variable this cannot be referenced from a static context.
Wie muss ich vorgehen?

Klasse Spielfenster:
Java:
import javax.swing.*;
import java.awt.*;

/**
* Created by kanda on 17.05.17.
*/
public class Spielfenster {
    //Anfang Attribute
    private Karte[][] Spielfeld = new Karte[3][3];
    private JPanel jPanel1;
    //Ende Attribute
    //Anfang Methoden
    public void create(){
        for(int zeile = 0; zeile < 3; zeile++){
            for(int spalte = 0; spalte < 3; spalte++){
                Spielfeld[zeile][spalte] = new Karte();
                Spielfeld[zeile][spalte].setBounds(100 + (zeile * 30), 70 + (zeile * 30), 30, 30);
                Spielfeld[zeile][spalte].setBackground(Color.BLACK);
                Spielfeld[zeile][spalte].setText(zeile + " " + spalte);
                jPanel1.add(Spielfeld[zeile][spalte]);
            }
        }
    }

    //Ende Methoden


    public static void main(String[] args) {
        JFrame frame = new JFrame("Spielfenster");
        frame.setContentPane(new Spielfenster().jPanel1);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
        JPanel jPanel1 = new JPanel();
    }
}

Klasse Karte (hier die einzelnen Spielkarten aus denen das Feld erstellt werden soll):
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
* Created by kanda on 17.05.17.
*/
public class Karte extends JButton{
    private boolean gedrueckt;
    private String inhalt;

    public boolean isGedrueckt() {
        return gedrueckt;
    }

    public void setGedrueckt(boolean gedrueckt) {
        this.gedrueckt = gedrueckt;
    }

    public String getInhalt() {
        return inhalt;
    }

    public void setInhalt(String inhalt) {
        this.inhalt = inhalt;
    }

    public Karte() {
        gedrueckt = false;
        addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                if(isGedrueckt() == true){
                    setBackground(new Color(255,255,255));
                    setForeground(new Color(0,0,0));
                    setGedrueckt(true);
                }
            }
        });
    }
}
 
Zuletzt bearbeitet:

JStein52

Top Contributor
jPanel1 ist keine static-Variable. Du könntest das was du jetzt in main machst in einen Konstruktor von Spielfenster verlagern. Und in main legst du dann einfach eine neue Instanz von Spielfenster an.
 

BadBat

Aktives Mitglied
Ist swing nicht schon abgelöst von fx?
Da geht auch sowas mit Lambdas
Code:
eventButton.setOnMouseClicked(event -> System.out.println(event.getButton()));
 
Zuletzt bearbeitet:

Neumi5694

Top Contributor
Alles klar. Ich bin aus einer früheren Entwicklungsumgebung aus der Schulzeit gewohnt, dass GUI-Objekte, die man im Designer anordnet, automatisch im Quellcode erzeugt werden.
Das ist in Netbeans und Eclipse genau gleich.
...Das heißt, dass ich das erst einmal von Hand nachholen muss.

Aber du kannst sie natürlich erst verwenden, NACHDEM der automatisch generierte Code auch ausgeführt wurde.
Netbeans erstellt für Swing eine initComponents-Methode, die muss im Konstruktor als aufgerufen werden (steht im Normalfall auch an erster Stelle, wenn man nicht reinpfuscht), bevor man die Elemente verwenden kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L NullPointerException lösen Java Basics - Anfänger-Themen 6
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
T Nullpointerexception und es wird nichts angezeigt Java Basics - Anfänger-Themen 15
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
Q NullPointerException Java Basics - Anfänger-Themen 5
H NullPointerException Java Basics - Anfänger-Themen 5
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben