# Bilder in ausführbare jar einbinden



## javamacher (22. Mrz 2012)

Hallo 
ich bin nicht ganz sicher ob ausführbare jar dateien auch in diesen bereich reinfallen aber es geht mir im besonderen um die einbindung von bildern in die jar datei.
Ich habe ein wenig gegooglet bin aber auf nichts perfektes gestossen.

Meine Bilder lade ich derzeit folgendermaßen:


```
Image zwei = new ImageIcon("eins.jpg").getImage();
	Image drei = new ImageIcon("zwei.jpg").getImage();
```

und malen tu ich sie so 


```
g.drawImage(eins, 10, 10, 400, 500, this);
g.drawImage(zwei, 10, 10, 400, 500, this);
```

es funktioniert alles

nur ich habe keine ahnung wie ich diese bilder nun in die jar datei einbinden kann...


----------



## Schwertfisch (22. Mrz 2012)

Hey,

du musst deine Bilder in den Source Ordner  (src) deines projects speichern und den Speicher Pfad dann auf die bilder im src odner legen .

So zum Beispiel :


```
java.net.URL körper = getClass().getResource("pics/body.png");
```

mit getClass().getResource bekomme ich den Speicherpfad meines Projekts...
pics ist mein überordner wo alle meine bilder liegen.

hoffe das hilft dir 

mfg


----------



## javamacher (22. Mrz 2012)

so habe jetzt alle bilder im src Ordner drin.

doch wenn ich nun


```
java.net.URL körper = getClass().getResource("pics/body.png");
```

diesen Part hier nehme 

wie wende ich ihn auf diese beiden beispiele an:


```
Image eins = new ImageIcon("eins.jpg").getImage();

g.drawImage(eins, 10, 10, 400, 500, this);
```

also eins.jpg ist im source ordner drin und wie kann ich das bild nun ins programm reinkriegen und zusätzlich in die ausführbare jar datei aufnehmen und weiterhin mit dem aufruf 
g.drawImage(eins, 10, 10, 400, 500, this); 
das bild malen?


----------



## Schwertfisch (22. Mrz 2012)

Hey,



> wie kann ich das bild nun ins programm reinkriegen und zusätzlich in die ausführbare jar datei aufnehmen und weiterhin mit dem aufruf
> g.drawImage(eins, 10, 10, 400, 500, this);
> das bild malen?




Der g.draw aufruf bleibt gleich da du nur den Speicher Pfad verändert hast.  

Ich weiss leider gerade nicht wie man bei ImageIcon dein Dynamischen Pfad zu dem src ordner erstellt. musst du selbst probieren.
(falls ich es finden sollte kommt es später)

Wenn du den Jar über eclipse erstellst geht es so....

1. Menupunkt File auswählen
2. Export auswählen
3. Eport as Runable Jar file
4. Main Classe auswählen und wo hin das Jar gespeichert werden soll
5. auf finish und schauen was raus kommt....


----------



## javamacher (22. Mrz 2012)

also ich habe schon mal ne jar ausgeführt funktioniert auch. einzig die bilder sind noch nicht drin


----------



## Kakulukiam21 (22. Mrz 2012)

Schau mal hier vielleicht hilft es dir ja weiter...


----------



## javamacher (22. Mrz 2012)

Vielen Dank für die Hinweise es funktioniert nun, für den den es interessiert mir wurde folgendes angeraten:

Diese Variablen erstellen

```
private BufferedImage x;
	private URL koerper;
```

und mit der folgenden anweisung klappt es dann


```
y= getClass().getResource("m.jpg");
			
			try {
				x= ImageIO.read(y);
			} catch (IOException e) {
				e.printStackTrace();
			}
```

Danke nochmals


----------



## L-ectron-X (22. Mrz 2012)

Ergänzend noch folgender Link: Grafikdateien laden und anzeigen ? Byte-Welt Wiki


----------

