# NetBeans: PNGs aus Iconsammlung einbinden



## skfcs (31. Aug 2007)

Hallo zusammen,

wir haben vor kurzem eine recht umfangreiche Iconsammlung gekauft (insgesamt ca. 500 MB) und diese soll nun in allen Programmen verwendet werden.  Einige PNGs werden in mehreren Programmen benötigt (z. B. für Speichern, Öffnen etc.), andere nur in einem Programm - und ziemlich viele auch gar nicht. Möglicherweise kommen später in der Sammlung noch neue Symbole dazu, die dann auch wieder (evtl.) benutzt werden.

Ich habe bisher verwendete PNGs in ein Unterverzeichnis bilder des src-Verzeichnisses der einzelnen Projekte gelegt und dann über die Classpath-Option des Icon-Auswahl-Dialogs eingebunden (verwende die NetBeans-IDE 5.5.1). Beim Build landen die verwendeten Bilder dann im JAR und werden auf einem anderen Rechner auch problemlos wieder gefunden.

Leider müssen die PNGs dann aber vorher in diesen Pfad (also in jedem einzelnen Projekt in ein passendes Verzeichnis unter "src" kopiert werden - das kommt mir ganz schön unordentlich vor. Erstmal liegen bestimmte Bilder dann x-mal dupliziert in den diversen Verzeichnissen, zudem werden sie auch so noch ins svn eingecheckt usw. usf.

Alternativ habe ich überlegt, eine Library aus allen Bildern zu machen und diese dann in die einzelnen Projekte einzubinden. Die würde beim Build als separates jar im \lib-Verzeichnis landen. Daran stört mich nun wieder die Größe - über 500 MB ausliefern für ein Programm, welches eigentlich nur ein paar MB groß ist und nur ein paar der Bildchen überhaupt benutzt. Zudem ist dies wahrscheinlich auch lizenzrechtlich ein Problem, da sich jeder einigermaßen versierte Kunde die Iconsammlung durch Entpacken des JAR restaurieren könnte...

Wir arbeiten noch nicht lange mit Java und NetBeans, insofern hoffe ich, es gibt eine bessere Lösung, die ich übersehen habe. Ideal wäre, wenn man aus einem Netzverzeichnis (auf dem die Iconsammlung liegt) die im Programm benötigten Symbole auswählen könnte und dann auch nur diese beim Build in die JAR-Datei eingebunden würden...

Vielen Dank schonmal für alle Vorschläge!

Gruß,
Sabine.


----------



## André Uhres (31. Aug 2007)

skfcs hat gesagt.:
			
		

> ..wir haben vor kurzem eine recht umfangreiche Iconsammlung gekauft (insgesamt ca. 500 MB)..


Das ist ja der Hammer  :shock:  
Ich dachte mit 20 MB hätte ich schon eine grosse Sammlung   
Ich denke die Library Lösung ist gut. Vielleicht kannst du die Sammlung aufteilen in mehrer kleinere Libraries.
Man muss sich dann halt ein bisschen mit dem Inhalt beschäftigen und was zueinander passt :wink:


----------



## Wildcard (31. Aug 2007)

Wir verwenden dafür ein build System (wenn auch nicht unbedingt für die Icons, weil das bei uns deutlich weniger als 500MB sind).
Es wäre zum Beispiel denkbar die Icons für die einzelnen Projekte in cvs ignore aufzunehmen und sie per ant Script beim local build vom Netzlaufwerk ins Projekt zu kopieren.


----------



## skfcs (3. Sep 2007)

Das mit dem Ant-Skript klingt gut - wie müsste ich denn dann die Icons zur Entwurfszeit angeben? Wenn ich über den NetBeans-Dialog gehe, werden mir unter Classpath ja nur die lokalen Verzeichnisse angeboten...


----------



## Wildcard (3. Sep 2007)

skfcs hat gesagt.:
			
		

> Das mit dem Ant-Skript klingt gut - wie müsste ich denn dann die Icons zur Entwurfszeit angeben?


Zum Beispiel in einer properties Datei die du mit dem Ant-Script auswertest.
Mit dem Dialog kann ich dir nicht helfen. Ich bin Eclipse-User und weiß daher nicht so ganz von was du redest  :wink:


----------



## André Uhres (3. Sep 2007)

NetBeans generiert Ant scripts, die man anpassen kann:
IDE Help | Working with projects | Standard projects | About IDE-generated Ant scripts
Ich habe aber keine Erfahrung damit. Vielleicht kannst du hier Hilfe finden: http://www.netbeans-forum.de/


----------



## skfcs (4. Sep 2007)

Danke für den Hinweis auf das Netbeans-Forum - ich habe die Frage dort nochmal gepostet (passt vielleicht besser).

Das Ant-Skript habe ich übrigens schon für andere Zwecke angepasst (Versionsinfo und Build-Nummer ins Projekt) - war nicht weiter schwierig. 

Für die Eclipse-User: 
Wenn ich in Netbeans ein Icon für einen Toolbar-Button auswählen will, gibt es hierfür einen Dialog (u. a. mit Vorschau, das ist schon praktisch), der u. a. die Option "Classpath" anbietet. Dann lassen sich nur noch Bilder auswählen, die in einem Unterverzeichnis des src-Ordners oder in einer im Projekt verwendeten Library liegen. NetBeans generiert den passenden Code zum Laden (über getClass().getResource())  mit relativem Pfad und die Bilder werden beim Build ins jar aufgenommen. 
Wahrscheinlich müsste ich eine NetBeans-Erweiterung schreiben, die dem Dialog eine "Get from directory and copy to classpath"-Option unterschiebt...


----------

