# applet - findet Bilder nicht



## virtualAudio (23. Nov 2007)

Hi Leute,

das Problem ist, dass mein Applet im Browser und im Aplletviewer die Bilder nicht anzeigt.

Zur Vorgeschichte:
Alles hat funktioniert solange die sourcefiles im defaultpackage waren und die Bilder im Ordner "Bilder".

Nun liegen die sourcefile im Ordner "src" und die Bilder immer noch in "Bilder". 

Der Pfad ist nun also "../Bilder/bild.jpg" was wie gesagt in eclipse auch funktioniert. Im Brower werden bei beiden Bildern NullpointerExceptions geworfen weil nur eine "unknown source" (also nichts) von dem Pfad kommt.

Die Exceptions werden bei mir abgefangen und so sagt er nur "'../Bilder/Fläche_BoltArea.jpg' not found!!" aber ich lasse in einem der beiden catchblocks nun auch den stacktrace ausgeben. Hier könnt ihr es anschaun http://amroc.andymel.eu



Ich habe weder in der FAQ noch mit der Suchfunktion, noch in Google was gefunden. Mag sein, dass ich schlecht gesucht habe, aber mit einer Auswahl von applet, path, (get)codebase, not loaded, not found etc findet man halt vorwiegend security probleme ... so wie ich das verstanden habe, müsste dann aber eine andere Ausgabe sein...auch denke ich, dass es dann im Appletviewer noch gehen müsste oder?


ich werd jetzt mal ein file abspeichern und schaun wo es hingespeichert wird....weiß jemadn wie man den "Arbeitspfad" ausgeben lässt? Mit getCodebase bekomm ich die URL der geladenen Seite...aber wie greife ich auf Dateien im jar zu?


Vielleicht kann man (falls ich es nicht übersehen habe) auch einen Eintrag in der FAQ machen...die Suchfunktion zeigt mir, dass ähnlcihe Probleme hier öfter diskutiert werden, aber ich glaube niemand erwähnt zB wie man diesen Pfad ausgibt.


Beste Grüße
Andi


----------



## *Hendrik (23. Nov 2007)

Wie sieht der Quellcode zum Laden der Bilder aus - so?


----------



## virtualAudio (23. Nov 2007)

Hi Hendrik,

ich hatt die Bilder bis jetzt immer direkt im jar. 

gerade bin ich drauf gekommen, dass die Bilder auch noch in Versionen funktioniert haben, wo die sourcefiles schon im src Ordner waren.

keine Ahnung warum sie nun nicht mehr angezeigt werden. Ich nehme schon an, dass es funktionieren würde die Bilder in blabla.eu/Bilder abzuspeichern und von dort zu laden...ich werde das mal als Fehlerbehandlung machen...denn eigentlich würde ich schon gerne herausfinden, wie ich die Bilder aus dem jar laden kann (hat ja bis vor wenigen Versionen noch geklappt....keine Ahnung was ich da geändert hab  )


----------



## virtualAudio (23. Nov 2007)

OK...das geht jetzt.

Er findet das Bild (so wie ich will / in der jar) nicht wirft die Exception und holt sich im catch-Block die Bilder vom Server.

Aber was mach ich falsch...is irgendwie zu lange her (hab ne längere Pause bei dem Proggi gemacht).



Oder ist es sogar unüblich Bilder und andere files im jar zu speichern? Sollte ich das aus irgend einem Grund vermeiden? Besser immer separat am Server speichern?

Beste Grüße
Andreas


----------



## Quaxli (26. Nov 2007)

Was Du falsch machst? Du postest keinen Code!
Wie sollen wir Fehler in Deinem Applet finden? Per Telepathie? 
Also poste mal ein Stück Code, dann ist das ganz schnell geklärt. Prinzipiell ist der Ansatz, die Bilder im Jar zu speichern, der Richtige.


----------



## Beanie (26. Nov 2007)

Versuchs mal so:


```
java.net.URL imgURL = getClass().getResource("bild.gif");
Image image = getImage(imgURL);
ImageIcon icon=new ImageIcon(image);
JButton b=new JButton(icon);
```

So bekommst du die URL zum Bild. Funktioniert bei mir sowohl im .jar-File als auch im Browser.
ggf. musst du den Pfad des Bildes noch anpassen. Wenn es z.B. im Verzeichnis der Appletklasse selbst liegt:

```
java.net.URL imgURL = meinApplet.getClass().getResource("bild.gif");
```

PS: So funktioniert das übrigens auch mit vielen anderen Dateien, z.B. docs/rtf.


----------

