# Eclipse: Bilder werden in .jar nicht mehr angezeigt



## Guest (4. Dez 2008)

Hi Leute,

das Thema gab es glaub schon ein paar mal, aber ich bin daraus irgendwie nicht schlau geworden.
Ich hoffe ihr könnt mir helfen.

Mein Problem:

Ich hab in meiner Application einige Bilder für Menü, IconImage, TrayIcon, usw. Wenn ich meine Application in Eclipse starte werden alle Bilder wunderbar angezeigt.

Wenn ich jetzt aber ein Runnable Jar-File erzeuge werden keine der Bilder angezeigt.
Woran kann das liegen?

*Zusatzinfos:*

Orderstruktur:







Sourcefolder: src (dort befinden sich alle .java Dateien in packages)
Sourcefolder: images (dort befinden sich alle Bilder im .gif, .jpg und .png Format)

Beide Sourcefolders sind auch im BuildPath enthalten.

Zugriff

Auf die Bilder greife ich entweder über


```
Toolkit.getDefaultToolkit().getImage("images/size.gif")
```

oder über


```
new ImageIcon("images/size.gif")
```

zu.

Ich weiß nicht was ich sonst noch hinzufügen könnte.
Hoffentlich kennt jemand von euch eine Lösung.

Danke im Vorraus


----------



## Wildcard (4. Dez 2008)

```
new ImageIcon(getClass().getResource("/size.gif"));
```


----------



## Guest (4. Dez 2008)

Danke funktioniert wunderbar.

Nur ein Problem hab ich noch:

Wie mach ich das wenn ich ein Bild für ein statisches JFrame benötige?
Also wenn ich z.B. ein IconImage für ein statisches JFrame nutzen will.

Das funktioniert dann logischerweiße nicht mit .getClass

Hat da jemand ne Lösung?

Danke im Vorraus


----------



## Wildcard (4. Dez 2008)

Frame.class.getResouce, oder mit ClassLoader


----------



## Guest (5. Dez 2008)

Danke mit JFrame.class.getResouce() funktioniert es wunderbar.

Nur noch eine Frage: Wie mach ich das wenn ich ein txt-File haben will?

Also mit


```
File file = new File("ordner/datei.txt");
```

klappt das aus Eclipse herraus perfekt. Aber wenn ich wieder ein Runnable Jar File daraus mache, findet er das File nicht mehr.

Das File soll übrigens in der Jar sein und nicht außerhalb.

Danke im Vorraus


----------



## Wildcard (5. Dez 2008)

In deiner Struktur oben ist images ein source folder. Sollte 'ordner' auch ein source folder sein, dann zählt das nicht zum Full Qualified Name (Package + Resourcen Name).
Der Pfad wäre also /datei.txt


----------



## Guest (5. Dez 2008)

Ich weiß nicht ob ich dich richtig verstanden habe.

Also "ordner" ist auch ein Sourcefolder.

Aber wenn ich ein File mit 


```
File file = new File("/datei.txt");
```

erstelle, wird sei weder von Eclipse noch von dem Jar-File gefunden.

Mit 


```
File file = new File(File.class.getResource("/datei.txt"));
```

kann ich auch nicht arbeiten da es einen Konstruktor mit dem Parameter (URL) für File nicht gibt.

Mach oder versteh ich da was falsch?


----------



## Wildcard (5. Dez 2008)

Die File API kannst du nicht verwenden, da die jar eine Datei ist, und Dateien keine Dateien enthalten können.
URL und InputStream, mehr braucht man nicht.


----------

