Hallo zusammen,
Ich habe ein kleines Problem mit den Bildern beim erzeugen einer Jar-Datei.
Ich habe ein Projekt (kleines Spiel) in Java mit Eclipse geschrieben.
Das Spiel ist soweit fertig und (von Eclipse aus) funktioniert alles einwandfrei.
Jetzt habe ich eine Jar-Datei erzeugt. Sie lässt sich auch starten, alles funktioniert, bis auf, dass keine Bilder angezeigt werden.
Die Bilder sind im Ordner „Skin“, der im Ordner „Images“ ist und dieser wiederum im Ordner „resourcen“, wobei der Ordner „resourcen“ im Package Explorer in Eclipse im Ordner „src“ ist.
In sämtlichen Forum lese ich, dass ich getResource() zum zugreifen auf die Bilder verwenden muss, bei mir sieht es also in etwa jetzt so aus:
Hier bekomme ich jedoch immer den folgenden Fehler:
Exception in thread "main" java.lang.ExceptionInInitializerError
at […].init([…].java:131)
Caused by: java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
Die Bilder sind alle bei mir static, damit ich über <Klassenname>.<Bildname> die Bilder bekomme (ohne get-set-methoden). und das ist gewollt, da ich die Klasse als "Konstanten-Klasse" verwenden möchte, da die Bilder in mehreren Klassen "abgefragt/ drauf zugegriffen" werden.
Also kann ich auch schlecht die Methode getResource() über getClass() aufrufen.
und damit ich die Bilder nicht jedes Mal neu in den jeweiligen Klassen deklarieren muss, halt eben diese "Konstanten-Klasse". Zu dem kann man im Spiel den Skin wechseln, und das kann ich mit einer einzigen Methode in dieser "Konstanten-Klasse" erreichen.
Gibt es denn eine Lösung die Bilder in der Jar-Datei anzuzeigen ohne dass ich auf das "static" verzichten muss?
Vielen Dank im Voraus
Ich habe ein kleines Problem mit den Bildern beim erzeugen einer Jar-Datei.
Ich habe ein Projekt (kleines Spiel) in Java mit Eclipse geschrieben.
Das Spiel ist soweit fertig und (von Eclipse aus) funktioniert alles einwandfrei.
Jetzt habe ich eine Jar-Datei erzeugt. Sie lässt sich auch starten, alles funktioniert, bis auf, dass keine Bilder angezeigt werden.
Die Bilder sind im Ordner „Skin“, der im Ordner „Images“ ist und dieser wiederum im Ordner „resourcen“, wobei der Ordner „resourcen“ im Package Explorer in Eclipse im Ordner „src“ ist.
In sämtlichen Forum lese ich, dass ich getResource() zum zugreifen auf die Bilder verwenden muss, bei mir sieht es also in etwa jetzt so aus:
Java:
java.net.URL url = <Class-name>.class.getResource("resourcen/Images/Skin/bildname.png");
bildtitel = new ImageIcon(url);
Hier bekomme ich jedoch immer den folgenden Fehler:
Exception in thread "main" java.lang.ExceptionInInitializerError
at […].init([…].java:131)
Caused by: java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
Die Bilder sind alle bei mir static, damit ich über <Klassenname>.<Bildname> die Bilder bekomme (ohne get-set-methoden). und das ist gewollt, da ich die Klasse als "Konstanten-Klasse" verwenden möchte, da die Bilder in mehreren Klassen "abgefragt/ drauf zugegriffen" werden.
Also kann ich auch schlecht die Methode getResource() über getClass() aufrufen.
und damit ich die Bilder nicht jedes Mal neu in den jeweiligen Klassen deklarieren muss, halt eben diese "Konstanten-Klasse". Zu dem kann man im Spiel den Skin wechseln, und das kann ich mit einer einzigen Methode in dieser "Konstanten-Klasse" erreichen.
Gibt es denn eine Lösung die Bilder in der Jar-Datei anzuzeigen ohne dass ich auf das "static" verzichten muss?
Vielen Dank im Voraus