Icons in jar-File

Status
Nicht offen für weitere Antworten.

rtt

Bekanntes Mitglied
Hi,
wie muß man seine Icons, die in einem Ordner in dem Jar sind, in Java implementieren, sodas man das jar-file hat und beim Ausführen die Icons aus dem Jar gelesen werden?

mit:
Code:
ImageIcon start = new ImageIcon( "icons/start.gif" );
geht das nicht, da greift er auf einen externen Ordner zu. (den will ich aber nicht immer mit kopieren)

Gruß Robin
 
dieses forum hat eine SUCHFUNKTION!
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html#getResource(java.lang.String)
 
sorry,

hab das jetzt so gemacht:
Code:
ImageIcon start = new ImageIcon( getClass().getResource( "icons/start.gif") );
JMenuItem system_entry1 = new JMenuItem("System start");
system_entry1.setIcon( start );

Leider gibt das eine NullPointerException in main.
Kann mir da jemand weiter helfen.
Danke
Gruß Robin
 
sorry für doppel Posting.
Bin auf den falschen Link gekommen.
Kann man eigentlich auch eigene Beiträge löschen?
 
das ist gut möglich!

es kann sein, dass die Bilder net in dem jar drin sind!

dann mach mal dein jar auf und schieb da noch dein verzeichnis mit den Bildern rein... die pfad struktur muss natürlich mit deiner angegebenen übereinstimmen.

dann sollte es eigentlich funktionieren! 🙂
 
hmmm, ich hatte da letztens ein ähnliches problem... da war dann letztendlich das bild kaputt......
ich denk mal das wird bei dir nicht so sein...

da is sicher noch n problem mit der richtigen pfadangabe.... vielleicht mal ein / noch vorher einsetzen, oder mal
ein ./ usw. vielleicht liegts daran...
 
hmmmmm, ok.....

deine icons liegen also in deinem projekt unter icons/bild.gif (z. b.)

dann baust du dein jar zusammen (mit fatjar?)

und dann?

also bei mir waren da NIE die bilder in dem jar file mit drin!
ich musste immer manuell über zip oder ähnliches packprogramm das jar aufmachen und
manuel dann die pfade anlegen und die bilder noch mit reinkopieren....
in eben dann dem verzeichnis icons .....

erst dann gings! (hatte nämlich auch immer die nullpointer, genau wie du!)

uhm, da fällt mir noch was auf....
bei mir gings immer nur so:

Code:
new ImageIcon(getClass().getClassLoader().getResource(...));
 
Hab auch mal:
Code:
system_entry1.setIcon( new ImageIcon(Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource("icons/start.gif"))) );
probiert, aber ebenfalls ohne Erfolg.
 
Ich mach das ganze mit NetBeans. Die Bilder sind definitiv im Jar enthalten.
Hab auch nochmal "getClass().getClassLoader().getResource..." probiert, wieder mit der Exception.

Gruß Robin
 
ok, dann weiß ich leider erstmal auch nich weiter...

sorry, wg. dem immer wieder nachfragen mit dem jar... aba da hatte ich eben mal nen üblen hänger.....
 
Probier mal getSystemClassLoader, das hat bei mir schonmal geholfen

Edit: Ich mein natürlich ClassLoader.getSystemClassLoader().getResource() 😉
 
getSystemClassLoader geht leider auch nicht.
Vielleichts liegts an meiner Architektur?
Ich hab ne Klasse Start mit der main-Methode und eine Klasse GUI. die main ruft meine Klasse GUI beim starten auf und stellt sie dar.
 
@KSG9|plak
da kommt bei mir:
setIcon(javax.swing.Icon) in javax.swing.AbstractButton cannot be applied to (java.io.InputStream)
 
Hab jetzt nochmal meine Ordnerstruktur überarbeitet.
Jetzt geht es. 🙂

so:
Code:
ImageIcon start = new ImageIcon( getClass().getResource( "icons/start.gif") );

Danke an alle.
Gruß Robin
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben