Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele"

Gossi

Bekanntes Mitglied
Hallo,

Habe vorhin mal angefangen das Tutorial für Java-Spiele zu lesen, erstmal nen Lob, is echt gut geworden, nur hänge ich momentan an einer "java.lang.IllegalArgumentException" und bedingt dadurch beim Zugriff auf das eigentlich zu erstellende Object eine NullPointerException:

Code:
java.lang.IllegalArgumentException: input == null!
	at javax.imageio.ImageIO.read(ImageIO.java:1362)
	at de.gossmann.spiel.GamePanel.loadPics(GamePanel.java:104)
	at de.gossmann.spiel.GamePanel.doInitializations(GamePanel.java:49)
	at de.gossmann.spiel.GamePanel.<init>(GamePanel.java:39)
	at de.gossmann.spiel.GamePanel.main(GamePanel.java:28)
Exception in thread "main" java.lang.NullPointerException
	at de.gossmann.spiel.GamePanel.loadPics(GamePanel.java:110)
	at de.gossmann.spiel.GamePanel.doInitializations(GamePanel.java:49)
	at de.gossmann.spiel.GamePanel.<init>(GamePanel.java:39)
	at de.gossmann.spiel.GamePanel.main(GamePanel.java:28)

Mal nen bissl Code (1 zu 1 ausm Tutorial übernommen)
[JAVA=97]
private BufferedImage[] loadPics(final String path, final int pics) {
BufferedImage[] anim = new BufferedImage[pics];
BufferedImage source = null;

URL pic_url = getClass().getClassLoader().getResource(path);

try {
source = ImageIO.read(pic_url);
} catch (Exception ex) {
ex.printStackTrace();
}

for (int i = 0; i < pics; i++) {
anim = source.getSubimage(i * source.getWidth() / pics, 0,
source.getWidth() / pics, source.getHeight());
}

return anim;
}
[/code]

Der Aufruf des ganzen:
[JAVA=49]
BufferedImage[] heli = loadPics("pics/heli.gif", 4);
[/code]

Hier nochmal die Pfade:
Projekt (Klassen):
D:\Workspace\TestProj\src\de\gossmann\spiel

Bilddatei:
D:\Workspace\TestProj\src\de\gossmann\spiel\pics

Danke schonmal für die Hilfe

PS:
Sorry für das doppelte Posten, Inet spinnt grade -.-
 
Zuletzt bearbeitet:
wo sind die class-Dateien zu den Java-Dateien in src letztlichen auf der Festplatte, suche danach,
sind sie zufällig im Workspace in einem bin-Verzeichnis?
wurden auch die pics dorthin kopiert? am besten automatisch von der IDE, für den Moment notfalls auch einmalig selber

was liefert
System.out.println(getClass().getClassLoader().getResource("GamePanel.class"));
?

generell könnte getClass().getResource() besser sein als getClass().getClassLoader().getResource(),
in diesem Fall dürfte es aber dasselbe Problem sein, bei packages macht es anscheinend einen Unterschied
 
Zuletzt bearbeitet von einem Moderator:
wo sind die class-Dateien zu den Java-Dateien in src letztlichen auf der Festplatte, suche danach,
sind sie zufällig im Workspace in einem bin-Verzeichnis?
wurden auch die pics dorthin kopiert? am besten automatisch von der IDE, für den Moment notfalls auch einmalig selber

was liefert
System.out.println(getClass().getClassLoader().getResource("GamePanel.class"));
?

generell könnte getClass().getResource() besser sein als getClass().getClassLoader().getResource(),
in diesem Fall dürfte es aber dasselbe Problem sein, bei packages macht es anscheinend einen Unterschied

Genau das wars, mit dem Classloader dazwischen gabs die Fehler, ohne sind se weg, danke dir ^^
 
dann hast du packages verwendet, wie es ja eigentlich auch für alle Java-Klassen zu empfehlen ist, bisschen schlecht im Tutorial?

"1 zu 1 ausm Tutorial übernommen" wäre damit nicht ganz richtig 😉
 
dann hast du packages verwendet, wie es ja eigentlich auch für alle Java-Klassen zu empfehlen ist, bisschen schlecht im Tutorial?

"1 zu 1 ausm Tutorial übernommen" wäre damit nicht ganz richtig 😉

Is ja gut 😛
Hab das Tutorial mittlerweile auch schon fast komplett durch, ist echt gut gemacht, macht richtig Spaß ^^
 

Zurück
Oben