Ressourcen in .jar einbinden

Hallo,
ich bin neu im Umgang mit java und wollte ein kleines 2D Spiel programmieren.

soweit funktioniert alles, aber ich kann keine Ressourcen in .jar files einbinden.

Ich habe schon 5 Stunden das Internet durchforstet und habe Einträge über getResource() gefunden. Leider hat kein einziger Eintrag mir weiter geholfen, weshalb ich jetzt hier auf eine Lösung hoffe.

Das aktuelle script sieht so aus:

	try {
		
		bg1 = ImageIO.read(new File("./rsc/bg1.png"));
		bg2 = ImageIO.read(new File("./rsc/bg1.png"));
		
		iplayer = ImageIO.read(new File("./rsc/player.png"));
	} catch (IOException e) {
		e.printStackTrace();
		System.out.println("Cant load pictures!");
	}

Ich benutze Eclipse und will gerne bg1 und bg2 mit getResource() beschreiben.

Kann mir jemand helfen?

Hi!

willst du lesen oder schreiben?

Also ich will das Projekt in eine .jar exportieren, bei dem die Bilder von dem Programm gelesen / geladen werden. Wie meinst du das mit „lesen oder schreiben“ ?

Dann ist File der falsche Ansatz - getResourceAsStream liefert dir die Resourcen aus dem Jar. Dann allerdings den Classpath angeben - rscr hat mit Sicherheit da nix zu suchen.

ImageIO.read(getClass().getResourceAsStream("/bg1.png");

Ich weiß das File der falsche Ansatz ist, habe es nur weider so geändert, dass die Bilder wenigstens in Eclipse angezeigt werde.

Vielen Dank, dass hat mein Problem gelöst.

Wie man Bilder oder Grafikdateien in Java-Programme einbindet auch wenn sie in Jar-Dateien abgelegt wurden, findest du in unserem Wiki-Artikel https://wiki.byte-welt.net/wiki/Grafikdateien_laden_und_anzeigen_(Java)