Dateien aus .jar verwenden

thomy800

Erfahrenes Mitglied
Hallo

ich habe ein programm geschrieben, welches einige bilder verwendet. nun möchte ich eine jar-datei erstellen, wo die bilder mit drin sind. nun stellt sich aber die frage, wie ich auf diese zugreifen kann.

ich habe es schon mit folgendem versucht:

Java:
URL url = this.getClass().getResource("bild.gif");
if(!(new File(url.getFile()).exists()) 
                JOptionPane.showMessageDialog(this,"Datei nicht gefunden!\n"+url.getFile(),"Dateifehler!",JOptionPane.ERROR_MESSAGE);

wenn ich das nun im trockentest (also mit blueJ) teste, wird das bild gefunden (es befindet sich im selben verzeichnis wie die class-dateien).
erstelle ich nun eine jar-datei wird mir folgendes angezeigt:

Code:
Datei nicht gefunden!
file:/**pfad**/datei.jar!/bild.gif

der pfad scheint mir richitg und das bild ist auch in der jar-datei, trotzdem wird es nicht gefunden..
weiß jemand, wie ich auf dateien in einer jar-datei zugreife

mfg thomy
 
Das ist schon richtig wie du das machst. Nur die Existensprüfung muß anders lauten. Die Dokumentation von getResource sagt:
Returns:
A URL object or null if no resource with this name is found

Wenn es nicht da ist bekommst du also null, kannst also darauft prüfen.
 
ah, vielen dank, es geht jetzt. :)

zunächst hatte die prüfung (jetzt nach der änderung) zwar "erfolgreich" geliefert, trotzdem konnte das bild nicht geladen werden.

so hatte ich es versucht und es hatte nich geklappt:
Java:
ImageIcon bild=new ImageIcon(url.getFile());

habe einfach nur, da ich eh eine url bekomme, das so geändert:
Java:
ImageIcon bild=new ImageIcon(url);
und schon ging es...

mfg thomy
 
Zurück