Hallo,
habe gerade ein kleines Java Game Tutorial gemacht und habe ein Problem mit der .jar Datei. Also folgendes:
Ich habe 2 Ordner "pics" und "sound", diese befinden sich in "build/classes/.." Ordner. Also selbe Ebene wie die .class Dateien(IDE ist Netbeans). Im Tutorial befinden sich die ganzen Klassen einfach im default Package, also ohne Ordner direkt in "classes/..."
Bilder werden dann so geladen:
"source" beinhaltet dann mein BufferedImage zur weiteren Bearbeitung.
So weit so gut. Das Spiel funktioniert in der IDE und auch als .jar Datei einwandfrei.
Jetzt habe ich eine kleine Veränderung vorgenommen. Ich habe für die Klassen Packages erstellt. Also(Hirarchie in Netbeans):
Java-Project
----Source Packages
------------UI
------------Sound
Also anstatt die Klassen direkt in Source Packages(werden dann bei Netbeans im "default Package" abgelegt, das default Package erscheint nur in Netbeans, ist also kein Ordner) abzulegen, habe ich ein Package "UI" und "Sound" erstellt.
Bilder lade ich dann so:
Habe nur das "UI" beim Pfad hinzugefügt. In der IDE funktioniert das alles einwandfrei, allerdings nicht als .jar Datei. Das versteh ich ehrlich gesagt nicht. Irgendwie können die Bilder nicht geladen werden.
Exception(ist nur ein Ausschnitt):
Weiss jemand Rat?
Danke schonmal im Voraus
habe gerade ein kleines Java Game Tutorial gemacht und habe ein Problem mit der .jar Datei. Also folgendes:
Ich habe 2 Ordner "pics" und "sound", diese befinden sich in "build/classes/.." Ordner. Also selbe Ebene wie die .class Dateien(IDE ist Netbeans). Im Tutorial befinden sich die ganzen Klassen einfach im default Package, also ohne Ordner direkt in "classes/..."
Bilder werden dann so geladen:
Java:
URL picURL = getClass().getClassLoader().getResource(pics/bild1.gif);
try {
source = ImageIO.read(picURL);
} catch(IOException e) { }
"source" beinhaltet dann mein BufferedImage zur weiteren Bearbeitung.
So weit so gut. Das Spiel funktioniert in der IDE und auch als .jar Datei einwandfrei.
Jetzt habe ich eine kleine Veränderung vorgenommen. Ich habe für die Klassen Packages erstellt. Also(Hirarchie in Netbeans):
Java-Project
----Source Packages
------------UI
------------Sound
Also anstatt die Klassen direkt in Source Packages(werden dann bei Netbeans im "default Package" abgelegt, das default Package erscheint nur in Netbeans, ist also kein Ordner) abzulegen, habe ich ein Package "UI" und "Sound" erstellt.
Bilder lade ich dann so:
Java:
URL picURL = getClass().getClassLoader().getResource(UI/pics/bild1.gif);
try {
source = ImageIO.read(picURL);
} catch(IOException e) { }
Habe nur das "UI" beim Pfad hinzugefügt. In der IDE funktioniert das alles einwandfrei, allerdings nicht als .jar Datei. Das versteh ich ehrlich gesagt nicht. Irgendwie können die Bilder nicht geladen werden.
Exception(ist nur ein Ausschnitt):
Java:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1362)
Danke schonmal im Voraus