Rechercher : dans
Par :

Java : définir des images static dans un JAR?

Dernière réponse le 31 déc 2003 à 16:49:00 nb88, le 29 déc 2003 à 23:43:04 
 Signaler ce message aux modérateurs

Bonjour,

j'ai un problème avec mon application Java... Celle ci tourne parfaitement bien sous son IDE (JBuilder) mais ça se corse quand on en arrive à mettre tous les beaux fichiers dans une archive JAR...

Alors voilà : pour déclarer mes images, j'utilise du code selon l'exemple suivant :
static Image flipCard = Toolkit.getDefaultToolkit().getImage("chemin/absolu/image.jpg");
static ImageIcon flipcard = new ImageIcon(flipCard);

Forcément, ça marche puisque le chemin est absolu et que je suis sur ma machine.
Par contre, pour mettre le tout dans un JAR, je remplace la première ligne par :
static Image flipCard = Toolkit.getDefaultToolkit().getClass().getClassLoader().getResource("package/repimages/image.jpg");

Ce qui marche pour les images non-statiques, mais pas pour les images statiques comme c'est le cas dans mon exemple précédent.

Le probleme c'est que si je retire le 'static' je ne peux plus récupérer l'image dans une autre class... enfin je ne crois pas, en tout cas je ne sais pas comment :p

Donc, quelqu'un aurait-il une solution quelconque qui permettrait de faire tourner l'appli ailleurs que dans JBuilder ??
- dans un fichier JAR, ce qui serait l'idéal
- dans un répertoire normal avec toutes les class et les images, impliquant que le chemin d'accès aux images dans les class soit un chemin relatif
- une autre solution ! (désespéré je suis)


Dites moi si c'est pas clair j'essaierai d'etre plus explicite :p

Merci d'avance !!!

Meilleures réponses pour « Java : définir des images static dans un JAR? » dans :
[FreeMind] Publier une mindmap dans une page web VoirFreeMind est un logiciel de mindmapping. Vous avez plusieurs possibilités pour publier votre mindmap dans une page web. Flash applet Java Simple image PNG HTML+Javascript (texte seulement) HTML+Javascript (texte+icônes) HTML+Javascript...
Java: les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Java sont typées, c'est-à-dire que les données contenues dans...
Java - Les packages VoirIntroduction aux packages La programmation Java consiste à créer des classes. Or, étant donné qu'un programme est généralement développé par une équipe de programmeurs, c'est-à-dire plusieurs personnes, le fait de concaténer (mettre bout à bout)...
Java: Les méthodes VoirLa notion de fonction et de méthode On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs...

1

silfaxu, le 30 déc 2003 à 08:49:05

Salut,

Tu as essayé ça :

public class JARImage {
protected ImageIcon getImage(String imageName){
ImageIcon image = new ImageIcon();
try {
image.setImage((Toolkit.getDefaultToolkit().getImage(getClas­s().getResource("/images/"+imageName))));
}
catch(Exception ex) {
System.out.println("Image Error: " + ex);
ex.printStackTrace();
}
return image;
}

Avec le repertoire images présent dans ton JAR

J'espere que ça t'aidera

@+

Répondre à silfaxu

2

nb88, le 30 déc 2003 à 15:05:21

Merci, mais non ça ne m'aide pas lol, probablement parce que je suis trop newbie encore ;)

En fait, si je fais cette classe... comment je m'en sers ?

Je ne peux a priori (des a priori de newbie hein :p) pas appeler la méthode getImage depuis mon autre classe puisque la méthode n'est pas statique, et si je la rend statique, ben retour au problème initial qui est que getClass() ne peut plus s'appliquer.

Comment faire pl z ? :p

Mici :p

Répondre à nb88

3

 rameur, le 31 déc 2003 à 16:49:00

Consulte le package java.beans il y a 1 classe qui permet de charger des images a partir d un fichier jar ( rappelle moi la prochaine fois je te le passe si tu trouves pas je l ai juste oublie !)

Répondre à rameur