IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Distribuer un .jar pour un projet qui a des image


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut Distribuer un .jar pour un projet qui a des image
    Bonjour,

    Mon problème ets simple, dan smon application j'utilise des images .gif,.jpg etc
    j'utilise des ImageIcon mais la n'ets pas le souci
    pour le moment l'adresse de mes image c'est quelque chose du type : "c:/image/truc"

    ca fonctione très bien mais comment ca va se passer quand je vais devori fournir ca au client, les image ne seront pas trouver ...
    y a t'il moyen de les inclure dans le .jar ou quelque chose ?


    merci de votre reponse.

  2. #2
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Mets les images dans un package et utilise getClass().getResource("pathtoimage") pour obtenir une URL vers ton image que tu peux ensuite passer à ImageIcon.
    Romain Guy
    Android - Mon livre - Mon blog

  3. #3
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par pigpen
    y a t'il moyen de les inclure dans le .jar ou quelque chose ?
    Bien sûr

    Chargement de ressources

    En gros, il faut faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ImageIcon i = new ImageIcon(getClass().getResource("/img/myimage.jpg"));
    Mais ça serait pas mal aussi de lire la avant de poster sur le forum...



    [EDIT] Arf Gfx est trop rapide pour moi
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Yep, il te faut utiliser le mecanisme du ClassLoader.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ClassLoader loader = getClass().getClassLoader();
    URL url = loader.getResource("data/image/toto.png");
    BufferedImage image = ImageIO.read(url);
    ImageIcon icon = new ImageIcon(url);
    Cette methode permet d'acceder a une ressource (image, etc...) presente sur le CLASSPATH donc soit dans le JAR charge, soit dans un JAR utilisant l'un des mecanismes d'extensions (ex : place dans le repertoire lib/ext du JRE), soit dans un JAR ou dans repertoire ajoute au CLASSPATH (par exemple via la configuration du projet dans ton IDE ou via une modification manuelle de la variable systeme).

    Astuce : si l'URL retournee est null c'est que ton chemin n'est pas correct ou que la ressource est non-trouvee. Donc verifier la casse du chemin et du nom du fichier, verifier le chemin relatif et verifier que le tout se trouve bien sur le CLASSPATH.

    EDIT - zut, rate egalement
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    effectivement merci à vosu deux, ca marche très bien.

    autre probleme est ce que dans mon .jar je peux mettre un fichier texte.
    est ce que je peux y acceder (a mon avis oui avec la méthode précedement citer) mais !!!!

    mais puis je le modifier, l'editer ??

    si oui comment faire ? quelqu'un a une idée ?

    merci d'avance (c'ets très important pour moi)

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Points : 267
    Points
    267
    Par défaut
    Salut,

    Non il me semble qu'il est impossible de modifier un fichier dans ton .jar, c'est assez logique, sur windows lorsqu'un fichier est en cours d'exécution tu ne peux pas le modifier, donc comme ca ne marche pas sur windows, ben ca marche pas en java .

    a+

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Pis c'est pas une bonne idee non-plus de modifier un fichier JAR qui a ete eventuellement signe numeriquement puisqu'alors la signature ne fonctionne plus.

    Deux suggestions :

    - utiliser une version du fichier a plat (non inclus dans l'archive). Si ce fichier n'existe pas, pas defaut on prend celui de l'archive, sinon on prend celui a plat. Quand on modifie celui de l'archive et qu'on veut le sauvegarder ca ecrase le fichier a plat a la place.

    - si l'utilisateur ne doit pas trop pouvoir bidouiller le fichier directement, utiliser une autre archive JAR ou ZIP liee a la premiere (eventuelement avec une extension quelconque pour eviter que l'utilisateur n'aille fouiller dedans). A ce moment-la, utiliser la lib ZIP du JDK pour la lecture/ecriture. Bien sur ca demande un peu plus de verifications a l'usage (ex : le programme doit verifier que l'archive secondaire est bien presente lors de son execution, etc...).

    ...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    ca me sembl eun peu complexe pour le peuq ue cette applciation doit faire, je vais faire sans je crois

    merci beaucoup de votre aide.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/06/2014, 16h25
  2. creation d'un jar d'un projet qui utilise hibernate
    Par haksasse dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 25/05/2008, 15h39
  3. Réponses: 6
    Dernier message: 13/11/2007, 12h06
  4. librarie et jar pour plusieurs projet
    Par robert_trudel dans le forum NetBeans
    Réponses: 3
    Dernier message: 26/04/2007, 15h33
  5. Quel langage pour une application qui gère des contrats et des factures ?
    Par pigpen dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 12/02/2007, 19h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo