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 :

Rechargement d'une image


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Avril 2005
    Messages : 277
    Par défaut Rechargement d'une image
    Bonjour,

    J'ai un soucis avec JAVA et les images ...

    Je charge des images depuis une URL générée ... Donc à une URL, une image ...

    Pendant l'exécution de mon programme, il est possible que les images chargées (et affichées) soit modifiées PHYSIQUEMENT, c'est a dire que les fichiers changent (enfin le contenu mais pas le nom ni le chemin, qui eux restent les mêmes)

    Le problème est que même si je reconstruit mes objets avec les images, ce sont les anciennent qui restent affichées, et non les nouvelles ...

    Les nouvelles ne sont prises que si je si je quitte et relance l'application ...

    Je pense que la JVM ou quelque chose du genre doit les charger depuis un cache et ne détecte pas si elles ont changées ...

    Je connait l'évenement qui change les fichiers image sur le disque, donc si il y a un moyen de "vider le cache des images pour JAVA" je sait a quel moment déclencher l'action !

    Je charge mes images dans des labels par :
    new ImageIcon(ImageIO.read( class.getClassLoader().getResource( nomImage.jpg ) )
    Merci de votre aide !

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Premièrement, une ressource en java n'est pas censée changer lors de l'exécution de la JVM. Il vaut donc mieux réserver tout ce qui est getResource... à des constantes, images ou pas.

    Pour toi tu devrais donc plutôt te caler sur les File.

    Cependant, avec un peu de chance ton code devrait fonctionner avec getResourceAsStream, au lieu de getResource : il y a effectivement un cache interne aux ImageIcon, qui se repère sur l'accés.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Etrange ...

    Dans le code que tu montres, le cache devrait se faire dans ImageIO.read, mais j'en doute un peu.

    Tu es sur de bien utiliser cette methode pour charger tes images ?

Discussions similaires

  1. rechargement d'une image map en ajax
    Par psykoleouf dans le forum jQuery
    Réponses: 4
    Dernier message: 18/02/2010, 10h16
  2. [Prototype] Recharger une image
    Par estampille dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 05/01/2009, 14h54
  3. [PHP-JS] Recharger une image
    Par L8O8L dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/05/2008, 16h27
  4. Sauver/ReCharger une image, donne
    Par Happy dans le forum C++
    Réponses: 3
    Dernier message: 18/05/2007, 13h06
  5. Recharger une image dans la cache
    Par Prophetis dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/07/2006, 13h24

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