[Image]Probleme de rafraichissement

Probleme de rafraichissement [Image] - Java - Programmation

Marsh Posté le 28-10-2005 à 16:13:40    

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 :
  1. public class PanelImage extends JPanel
  2. {
  3. String path;
  4. Image img;
  5. public PanelImage(String path)
  6. {
  7.  this.path = path;
  8.  img = java.awt.Toolkit.getDefaultToolkit().getImage(path);
  9.  MediaTracker media = new MediaTracker(this);
  10.  media.addImage(img,0);
  11.       try
  12.       {
  13.           media.waitForAll();
  14.       } catch (Exception e) { e.printStackTrace(); }
  15. }
  16. public void paintComponent(Graphics g)
  17. {
  18.  g.drawImage(img,0,0,img.getWidth(null),img.getHeight(null),null);
  19. }
  20. }


 
Je precise que ceux sont bien deux instances distinctes de JFrame qui crée ce composant pour le mettre sur leur contentPane.

Reply

Marsh Posté le 28-10-2005 à 16:13:40   

Reply

Marsh Posté le 28-10-2005 à 16:26:54    

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  :sweat:  
 
J'y retourne  :wahoo:


Message édité par leyee1603 le 28-10-2005 à 16:27:20
Reply

Marsh Posté le 02-01-2008 à 19:13:03    

bonjour,  
je crois que tu as été confronté au même problème que moi. pourrait tu me dire comment tu l'as résolu.
je voudrias en faite faire afficher différente image en fonction d'une horloge ( qui est un thread).
merci

Reply

Marsh Posté le 17-02-2008 à 14:02:38    

Bonjour,
Puisque le sujet n'est pas clos, je me permet de rajouter l'info recherchée qui m'a été utile.
C'est le probleme du cache du navigateur... solutionné en ajoutant un élément aléatoire au nom de l'image pour le forcer à chercher cette image...
 
Pour moi; utilisé avec l'UrlRewritting de cette façon :
 
http://ziprof.free.fr/PHP-MYSQL/fo [...] -cache.php
 
Bon dév !
 
 :bounce:  
http://www.livreoccasion.com   http://www.i-prof.fr
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed