[Résolu] Mise à jour d'un JLabel contenant une image

Mise à jour d'un JLabel contenant une image [Résolu] - Java - Programmation

Marsh Posté le 28-05-2008 à 12:43:01    

Bonjour à tous,
je me permets de vous demander conseil à nouveau.
 
Je suis toujours en train de développer mon projet de Seam-Carving qui consiste à redimensionner une image "intelligemment".
 
Mon problème se situe au niveau de l'affichage progressif de l'image, en effet je voudrais qu'elle soit affichée au fur et à mesure qu'elle est réduite.
 
Cela marchait très bien avant que je mette en place toute l'interface (quand il y avait juste une JFrame et un JLabel contenant l'image) mais désormais quand j'exécute mes fonctions de redimensionnement l'image est affichée une fois le redimensionnement fini.
 
Au niveau du code j'ai un package d'interface et un autre contenant tous les calculs.  
Dans ma classe Fenetre (la classe principale de l'interface) j'appelle les fonctions de redimensionnement lorsqu'un bouton est cliqué. Dans ces fonctions je passe en argument mon JLabel où je souhaite que l'image soit affichée.
Mes fonctions sont définies dans la classe SeamCarving (la classe principale pour les calculs) et appliquent la méthode setIcon à mon JLabel. Cependant, bien que setIcon soit appellé à chaque tour de boucle l'image n'est pas mise à jour :(
 
Je ne vois pas trop d'où le problème provient, là je me dis qu'il faut peut-être utilisé un thread pour l'affichage mais après quelques tentatives surement maladroites rien ne s'affiche.
 
Je m'en remet donc à vous pour essayer de m'éclairer sur ce problème :)


Message édité par TiBoO le 30-05-2008 à 09:20:52
Reply

Marsh Posté le 28-05-2008 à 12:43:01   

Reply

Marsh Posté le 30-05-2008 à 09:01:49    

;) Salut essaye ça, ça devrait marcher enfin moi ça marche.

Code :
  1. monLabel.setIcon(new ImageIcon(myBufferedImage));
  2.      monLabel.paint(monLabel.getGraphics());


Salut  :hello:  

Reply

Marsh Posté le 30-05-2008 à 09:21:15    

Merci copain  :)

Reply

Sujets relatifs:

Leave a Replay

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