# Mac: Netbeans & Eclipse Swing NullPointerException



## havanna (20. Sep 2011)

Hi,

Ich arbeite unter Mac OSX und versuche gerade die JDK 1.7 in beiden IDE's zu verwenden, funktioniert auch bei beiden ohne Probleme in der IDE, aber sobalt ich ein JFrame in der mainmethode starten will bekomme ich immer eine NullPointerException. Bei Konsolenausgaben läuft alles super, nur beim anzeigen vom JFrame gibt es ne NullPointerException.

Hat jemand die selben Probleme oder liegt es nur an mir? 

Danke schonmal 
Michael


----------



## Tomate_Salat (20. Sep 2011)

Wie immer ausgeschlossen wird, dass der eigene Code für eine NPE verantwortlich sein könnte :noe:


----------



## havanna (20. Sep 2011)

ja kann ausgeschlossen werden ,


```
public class MitarbeiterFrame extends JFrame
{
public MitarbeiterFrame()
{
                super("Beispiel für Mitarbeiter");
		this.setBounds(100, 100, 300, 150);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		Container con = this.getContentPane();
}

public static void main(String[] args) 
	{
		MitarbeiterFrame fenster = new MitarbeiterFrame();
		fenster.setVisible(true);
	}
}
```

der code funktioniert ja auch mit der 1.6er Version vom Java JDK auf dem Mac nur nicht mit der 1.7er vom OpenJDK


----------



## Tomate_Salat (20. Sep 2011)

havanna hat gesagt.:


> ja kann ausgeschlossen werden



Schaut tatsächlich ok aus. Nichts für ungut, aber dass ist der erste Beitrag dieser art, den ich lese, wo es mal nicht am Entwickler liegen könnte .

Es wäre mal interessant, wie die NPE genau ausschaut.


----------



## havanna (20. Sep 2011)

poste ich gleich von zu Hause aus, weil ich hier am schulungsrechner bin.


----------



## havanna (20. Sep 2011)

So hier mal noch wie ich das gerade getestet habe:


```
package test;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.HeadlessException;
import javax.swing.JFrame;

/**
 *
 * @author havanna
 */
public class Test extends JFrame
{

    public Test() throws HeadlessException
    {
        super("Swing JFrame Test");
        
        this.setBounds(100, 100, 400, 300);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        
        Container con = this.getContentPane();
        con.setLayout(new BorderLayout());
    }

    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        new Test().setVisible(true);
    }
}
```
beim ausführen bekomme ich folgende Fehlermeldung:


```
Exception in thread "main" java.lang.NullPointerException
	at java.awt.Window.initGC(Window.java:464)
	at java.awt.Window.init(Window.java:484)
	at java.awt.Window.<init>(Window.java:533)
	at java.awt.Frame.<init>(Frame.java:418)
	at javax.swing.JFrame.<init>(JFrame.java:224)
	at test.Test.<init>(Test.java:21)
	at test.Test.main(Test.java:36)
Java Result: 1
ERSTELLEN ERFOLGREICH (Gesamtzeit: 0 Minuten 2 Sekunden)
```


----------



## SamHotte (20. Sep 2011)

Innerhalb des Konstruktors rufst Du "this.getContentPane()" auf ... da gibt's "this" aber noch nicht so richtig.


----------



## havanna (20. Sep 2011)

das gibt's schon, daran liegt es nicht, unter Windows oder dem JDK 1.6 funktioniert der gleiche Code ja, dass ist ja das Problem.


----------



## Tomate_Salat (20. Sep 2011)

SamHotte hat gesagt.:


> da gibt's "this" aber noch nicht so richtig.



Dann könnte das hier nur durch pure Magie funktionieren:

```
public class Sample {
    private String s;
    public Sample(String s)  {
        this.s=s;
    }
}
```

Nein, laut dem Stack müsste der Fehler in der Window.java liegen.


----------



## SamHotte (21. Sep 2011)

Sorry, Denkfehler meinerseits :-(


----------

