# Image-Datei mit relativem Pfad angeben



## slaytallicer (28. Okt 2007)

Hallo zusammen!

Ich möchte eine Imagedatei so in Java einbinden, dass ich das Programm weitergeben kann, und der Empfänger es benutzen kann, ohne den Pfad zum Image zu ändern. Die Klasse, mit der das Programm gestartet wird (sowie alle anderen Klassen), liegt im Ordner

D:\xx\yy\zz\Projekt\Seminararbeit\src\package\

das Bild befindet sich im Ordner

D:\xx\yy\zz\Projekt\Bilder\

ich möchte den Ordner Projekt mit sämtlichen Unterordnern weitergeben.

Als relativen Pfad hierfür habe ich in der Klasse, in der ich das Bild brauche, das hier angegeben:

```
ImageIcon icon = new ImageIcon(".\\..\\..\\..\\Bilder\\"+id+".jpg");
```

Also soweit ich weiß gehe ich damit vom aktuellen Verzeichnis "package" über "src" und "Seminararbeit" in den Ordner "Projekt" und dann in den Ordner "Bilder".

Allerdings werden keine Bilder angezeigt. Entweder ist mein Code falsch oder man kann mit ImageIcon keine relativen Pfadangaben benutzen. Wenn ich anstatt
".\\..\\..\\..\\Bilder\\"  "D:\xx\yy\zz\Projekt\Bilder\" benutze, klappt es.

Kann mir vielleicht jemand sagen, wie ich das richtig hinbekomme?


----------



## Leroy42 (28. Okt 2007)

Laß doch den ganzen Umstand, und packe dein Image einfach
mit in das Jar-File und greife per getResourceAsStream darauf zu.


----------



## JPKI (28. Okt 2007)

Wieso per getResoruceAsStream? getClass().getResource() liefert dann schon das passende URL-Objekt, ansonsten geb ich meinem Vorposter Recht.

```
ImageIcon icon = new ImageIcon(getClass().getResource(id+".jpg"));
```


----------



## slaytallicer (28. Okt 2007)

Hey, das ging ja mal richtig schnell!

Vielen Dank für die schnellen Antworten!
Mit 


```
ImageIcon icon = new ImageIcon(getClass().getResource(id+".jpg"));
```

hats einwandfrei funktioniert! 

Danke nochmal!


----------

