Bilder in einem Runnable Jar Archiv

rwesterh

Mitglied
Hi Leute,

ich habe ein kleines Problem. Und zwar versuche ich jetzt schon länger Bilder in meiner Applikation anzuzeigen. Innerhalb von Eclipse ist das auch gar kein Problem. Aber sobald ich das Projekt als Runnable JAR-File exportiere werden die Bilder nicht mehr angezeigt.

Meine Ordnerstruktur:

src --> View --> InfoPage.java (hier soll das Bild geladen werden)
src --> View --> Bilder --> versch.Unterordner (hier befinden sich die Bilder)

Der Code, mit welchem die Bilder eingebunden werden sollen:

Java:
public class InfoPage {
...
	public void setBild(String url) {
		this.untenLinks.setText("");
		this.untenLinks.setIcon(new ImageIcon(InfoPage.class.getResource(url)));
		this.invalidate();
		this.validate();
	}
...
}

Die URLs zu den Bildern haben die folgende Form:
"/Buende/Tabakspeicher1.JPG"
Wobei Buende hier einer der Unterordner vom Ordner Bilder ist.

Die Bilder befinden sich im JAR-Archiv, werden nur leider nicht angezeigt. Ich habe auch den Pfad zu den Bildern im Classpath schon gesetzt. Hat alles nichts gebracht.

Ich hoffe irgendjemand kann mir hier weiterhelfen.

Viele Grüße

René
 
Als Rootverzeichnis muss es den Ordner Resources geben.
Beispiel für dich : \Resources\Bilder\Buende\..
damit müsste es funktionieren
 
Hi,
meinst du als Ordner auf einer Ebene mit src und co? Oder als Unterordner von src (also quasi als package...)?
Ich bin etwas verwirrt... Ich habs probiert, aber hat leider nicht funktioniert. Also, natürlich schon. In Eclipse. Aber eben nicht im JAR-File.

Gruß

René
 
Oh nein,
was für ein dummer Fehler...
Ich habe die Lösung.
Die Ordnerstruktur:
src
---view
------Bilder

In view liegen die Klassen, welche die Bilder benötigen.
Der Pfad: "Bilder/Buende/Laurentiuskirche1.JPG".
Der Code:
Java:
		ClassLoader cldr = this.getClass().getClassLoader();
		URL imageURL = cldr.getResource(url);
		ImageIcon bild = new ImageIcon(imageURL);

Aber der springende Punkt war: Ich hatte den Ordner Bilder lediglich händisch in den Ordner view eingefügt. Das mochte Eclipse wohl garnicht... Jetzt habe ich ihn mal über die Importfunktion importiert. Und siehe da: Das Runnable JAR-File läuft!

Trotzdem vielen Dank an die, die geantwortet haben.

Schönen Abend noch.
 

Zurück
Oben