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

2D Java Discussion :

[Image] Probleme de rafraichissement


Sujet :

2D Java

  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 321
    Points : 360
    Points
    360
    Par défaut [Image] Probleme de rafraichissement
    Salut,

    Je me heurte depuis deux jours a un probleme qui semble tout bete : je fais afficher une image dans un composant fait maison heritant de JPanel le tout placé dans une JFrame. Jusque là tout va bien, ça marche. Mon application est amené a modifier le fichier jpg contenant l'image affichée puis a rappeler une instance de ma JFrame qui doit faire afficher la nouvelle image. Et c'est la que ça coince. Dès le deuxieme appel l'image affichée est l'ancienne alors que le fichier n'est plus le même (j'ai essayé en supprimant purement et simplement le fichier mais l'image affichée est toujours la même :/).

    Voici le code de mon composant faisant afficher l'image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public class PanelImage extends JPanel
    {
    	String path;
    	Image img;
     
    	public PanelImage(String path)
    	{
    		this.path = path;
    		img = java.awt.Toolkit.getDefaultToolkit().getImage(path);
    		MediaTracker media = new MediaTracker(this);
    		media.addImage(img,0);
          try 
          {
              media.waitForAll();
          } catch (Exception e) { e.printStackTrace(); }
    	}
     
    	public void paintComponent(Graphics g)
    	{		
    		g.drawImage(img,0,0,img.getWidth(null),img.getHeight(null),null);
    	}	
    }
    Je precise que ceux sont bien deux instances distinctes de JFrame qui crée ce composant pour le mettre sur leur contentPane.

  2. #2
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 321
    Points : 360
    Points
    360
    Par défaut
    Je pense avoir bien ciblé le probleme : si j'effectue un system.out.println(img), j'obtiens a chaque fois une reference vers le meme objet en memoire alors que ceux sont deux fenetres differentes (si je fais un system.out.println de ces deux jframe, le resultat est différent) qui ont chacune instancié un PanelImage. En 4 ans, c'est la premiere fois que je me heurte a un probleme de ce type, j'ai beau fouiller de partout je n'ai pas encore trouvé de solution

    J'y retourne 8)

  3. #3
    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
    Le Toolkit a un cache interne pour les images
    Romain Guy
    Android - Mon livre - Mon blog

  4. #4
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 321
    Points : 360
    Points
    360
    Par défaut
    Oui je vois ça, je n'ai trouvé d'autres solution que d'enregistrer mes images sous des noms de fichiers differents pour forcer le toolkit a afficher ce que je souhaite : pas top :/

  5. #5
    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
    Mais tu as d'autres manières de charger des images (ImageIO, ...) à vérifier s'il y a un cache aussi dans ces cas-là.
    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

Discussions similaires

  1. Probleme de rafraichissement d'image..
    Par francis.frederic dans le forum MFC
    Réponses: 1
    Dernier message: 22/07/2008, 17h20
  2. Probleme de rafraichissement d'image
    Par Fabthebug dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 27/05/2008, 16h03
  3. Réponses: 2
    Dernier message: 04/12/2007, 18h35
  4. VBA - Excel - Probleme de rafraichissement d'images - Lenteur
    Par krhyme dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/03/2007, 11h14
  5. [MFC] probleme de rafraichissement d'une image
    Par Vestaproman dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2004, 23h59

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