Bonjour à tous,

Je programme une applet avec une boucle infinie, comme dans l'exemple trouvé ici :http://subaru2.univ-lemans.fr/enseig...ava/java8.html (cf 2eme exemple)

Dans le corps de ma boucle, je modifie une variable globale de type chaine que j'affiche une fois mon traitement terminé.
La chaine de caractère est assez longue et est sur plusieurs lignes.
Voici le code de ma boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
public void run()
  { while (true)       // boucle sans fin
    { try              //action à réaliser
       {
    	repaint();    //redessiner
        label.setText("<html>"+Result+"</html>"); //affichage de la chaine
       }  
      catch (Exception e)
      { stop();}}}  //traitement (facultatif) de l'exception
}
Le traitement qui modifie ma chaine Result est dans le code de ma fonction paint()

Cependant, j'ai un bug que je ne comprends pas : lorsque j'affiche ma chaine à la fin de mon traitement, je ne vois le résultat que sur une ligne. Ce qui m'intringue, c'est que si je redimensionne la fenêtre de mon applet, je vois à présent mon JLabel correctement, avec tous les sauts à la ligne prévu.

J'ai l'impression que la taille du JLabel ne se met pas à jour selon la chaine.
J'ai fait des recherches sur les fonctions qui sont appelées lors du redimensionnement (pour pouvoir déclencher l'action qui m'a permet de voir le résultat attendu), mais j'ai cru comprendre qu'il s'agissait des fonctions update et paint, qui sont appelées par définition par le repaint.

Est-ce que quelqu'un voit d'où pourrait provenir mon erreur?
Quelqu'un sait-il quelles fonctions sont appelées lorsque l'utilisateur redimensionne la fenêtre?
Je peux poster une version allégée (sans tout le traitement de la variable résultat) de mon code si ça peut être utile.