2010-06-21 7 views
1

J'essaie de distribuer un projet netbeans mais le pot qu'il crée et le contenu du dossier dist dépendent de certains fichiers image que j'ai inclus dans le projet - mais ces images sont pas dans le dossier dist et je ne peux pas travailler sur comment faire fonctionner les choses afin que je puisse exporter le projet dans un format distribuable incluant toutes les choses dont il a besoin. Est-ce que quelqu'un peut me dire comment exporter un projet qui s'exécute dans NetBeans sans utiliser le dossier/dist du projet qui contient tout ce dont il a besoin?Netbeans créant un dist jar avec toutes les images etc inclus

Vive

Andy

Répondre

1

Une façon d'y parvenir est d'ajouter un dossier (f.i. "ressources") dans src dir de votre projet. Puis copiez les images dans ce répertoire. Maintenant, les images doivent être incluses lorsque vous construisez le projet (si je me souviens bien). L'accès aux fichiers peut être accompli avec "getResourceAsStream" ...

+0

Ok donc essayé, lors de l'exécution de NetBeans ce code fonctionne très bien: [code] URL imgOn = cldr.getResource ("ressources \\ sur. png "); URL imgOff = cldr.getResource ("resources \\ off.png"); ImageIcon on; ImageIcon désactivé; public void run() { System.out.println ("URL:" + imgOn); on = nouveau ImageIcon (imgOn); off = new ImageIcon (imgOff); ... [/ code] Lors de l'exécution à partir du fichier jar dans la commande dist, ceci renvoie URL: null ..... – RenegadeAndy

+0

Essayez de décompresser le fichier jar et vérifiez que les fichiers de ressources ont bien été inclus dans le fichier jar. –

1

Si les ressources qui vous intéressent sont dans le chemin de classe, empaquetées dans le pot, la guerre ou la distribution, vous pouvez les récupérer en récupérant des ressources. La convention est en effet d'avoir un répertoire nommé 'src/resources' qui sert de racine pour cela. En fonction de la quantité et de la portée des ressources que vous utilisez, vous pouvez également ajouter une hiérarchie de sous-répertoires pour gérer l'organisation et l'état des ressources.

Aussi, pas qu'une ressource peut être n'importe quel fichier, une image, un son, un texte, un fichier XML, binaire, etc. aucune limitation.

Enfin, l'appel ressemblera à ceci si vous utilisez une méthode d'objet:. getClass() getResourceAsStream ("ressources/myResource") - ou - getClass() getResource ("ressources/myResource") dépend. si vous voulez un flux ou juste l'URI à ce point dans le code. Généralement, on utilise l'URI pour déléguer le traitement de la ressource ailleurs et le formulaire de flux lorsque vous le traitez en ligne.

Pour une méthode de classe, vous aurez besoin de faire quelque chose comme:.

nouveau ...

Object() getClass() Le pensez à garder à l'esprit ici, est finalement est de résoudre au chargeur de classe et c'est à partir de ce chemin de classe que la ressource sera récupérée.

0

Vous pouvez ajouter des images de la même façon:

final Image image0 = Toolkit.getDefaultToolkit().getImage(getClass().getResource("images/1.png"));