PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Beim Ausführen des JAR Files keine Icons


RMC
2004-07-05, 17:15:27
kommen wir zur Sache:

Ich wollte mal mein Java-Programm als Executable Archiv (JAR) speichern, wenn man die RE installiert hat kann man die auch ausführen.

Nur ein Problem: es werden keine Icons angezeigt...warum ist mir schleierhaft. Wenn ich meinen Borland JBuilder öffne und von dort starte, dann hab ich die Icons wieder drinnen.

Der Pfad der Icons ist in einer txt-Datei im selben Ordner des Archivs gespeichert.
Eine Java-Klasse öffnet dieses File (mit FileReader o.Ä.) und liest den Pfad heraus, um die Icons dann zu anzuzeigen.
Wie gesagt, in der JBuilder Umgebung geht das alles, kaum starte ich es ohne die Umgebung geht es nicht mehr!

Woran könnte das liegen? Bitte um Hilfe, danke!

HellHorse
2004-07-05, 17:36:46
Hilft das?

ImageIcon xyIcon = new ImageIcon((MeineKlasse.class).getClassLoader().getResource("verzeichnis/unterverzeichnis/xy.gif"));

RMC
2004-07-05, 23:54:54
hm tja *überleg*

das könnte ich ausprobiern, aber das wird dauern, das sind mehrere tausend Zeilen Code...
Ich glaub ich schreib mal ein Beispielprogramm und schau obs an dem liegt.

Aber vielleicht gibts ja ein offensichtlichere Lösung?

btw...
die Icons werden bis jetz ganz normal mit ImageIcon icon = new ImageIcon(path); angelegt.

HellHorse
2004-07-06, 08:07:35
Original geschrieben von RMC
Aber vielleicht gibts ja ein offensichtlichere Lösung?

Die Icons entpacken?

RMC
2004-07-06, 09:18:22
Entpacken? Sind ja gar nicht gepackt *g* Das sind einfache gifs und liegen in einem Ordner icons im "root" Verzeichnis wo auch das *.jar File liegt.
Das Programm sollte also direkt auf den Ordner "icons" und dann auf die einzelnen Gifs zugreifen. Funktioniert ja alles wunderbar, aber komischerweise nur in der Entwicklungsumgebung, aber die Pfadangaben stimmen alle sonst würds ja nicht mal da funktionieren :(

PH4Real
2004-07-06, 11:17:29
Original geschrieben von RMC
Entpacken? Sind ja gar nicht gepackt *g* Das sind einfache gifs und liegen in einem Ordner icons im "root" Verzeichnis wo auch das *.jar File liegt.
Das Programm sollte also direkt auf den Ordner "icons" und dann auf die einzelnen Gifs zugreifen. Funktioniert ja alles wunderbar, aber komischerweise nur in der Entwicklungsumgebung, aber die Pfadangaben stimmen alle sonst würds ja nicht mal da funktionieren :(

Du arbeitest doch mit dem JBuilder oder? Ich glaube so ein Problem hatte ich auch mal...

Also bei mir war es so, dass der JBuilder als Pfad für die Icons den absoluten Pfad (also zum Beispiel "file:///C:/...") und nicht den relativen Pfad genommen hatte. Das ist immer dann passiert, wenn man die Icons in der GUI hinzugefügt hat.

Wenn das *.jar File erzeugt wird, stimmen die Angaben dann unter Umständen nicht mehr. Also ich habe damals die Icons dann "per Hand" hinzugefügt... Die wurden damals (Version 7) dann zwar nicht mehr in der GUI Vorschau angezeigt, dafür waren sie aber immer im Programm vorhanden.

Hoffe, dass das helfen konnte...

RMC
2004-07-06, 11:56:12
ich arbeite noch mit dem JBuilder6, mein Java-Programm selbst ist 2 Jahre alt *g*.
Mittlerweile arbeite ich mit dem SunOne Studio, aber das Projekt wollte ich noch mit dem JBuilder fertig machen, da ich unter anderem das XYLayout verwende, dass es in anderen Umgebungen nicht zu geben scheint - bzw. es gibt wiederum andere, ähnliche Layouts.

hm ich verwende auch den absoluten Pfad. Ich habe eine Txt-Datei, in welcher der Installations-Pfad steht "C:\\Programme\\Java\\..." und auf das Install-Verzeichnis verweist. Diese Datei öffne ich, lese den absoluten Pfad heraus, schreibe "icons" und hab somit den Ordner für die Icons.
Dasselbe geschieht übrigens, wenn ich auf Daten in anderen Ordnern zugreifen will (zB: für Saves oder für Einstellungen zum Laden) - dann nehm ich den Pfad, adde den Ordner dazu und kann mit dem FileOpenDialog (oder so ähnlich) genau dort hinspringen wo ich will.

Wie gesagt, im JBuilder gehts, außerhalb nicht :( file:/// hab ich nicht dazugeschrieben...ich kanns mal probiern, aber glaub nicht dass DAS ausschlaggebend ist !? Weil der Pfad funktioniert ja auch so.

HellHorse
2004-07-06, 12:54:35
Original geschrieben von RMC
Entpacken? Sind ja gar nicht gepackt *g*
Habe ich das richtig verstanden?
Im dem Verzeichnis, wo das JAR liegt gibts einen Unterordner icons, dort liegen die Icons drin, die du verwenden willst.
Die Icons sind also nicht im JAR.

RMC
2004-07-06, 13:52:58
Original geschrieben von HellHorse
Habe ich das richtig verstanden?
Im dem Verzeichnis, wo das JAR liegt gibts einen Unterordner icons, dort liegen die Icons drin, die du verwenden willst.
Die Icons sind also nicht im JAR.

Stimmt, ja! Die Icons sind nicht im JAR, sondern in einem extra Ordner im selben Verzeichnis wie das JAR-File.

Hab das Archiv mit JBuilder erstellt, hab zwar alle benötigten Klassen und Ressourcen eingebunden aber die Icons sind aber nicht drin.. :(

liegt DA der Fehler?