OVH Cloud OVH Cloud

[swing] problème de mise à jour d'un panel

1 réponse
Avatar
bartocheN0SPAM
Bonjour à tous !

Soit une fenêtre contenant un jpanel XXX lui-même contenant un jpanel
YYY. Imaginons que je veuille mettre à la place de YYY un jpanel ZZZ.
Voici ce que j'écris et qui ne marche pas :
XXX.removeAll();
XXX.add(ZZZ);
repaint();

et là au lieu d'afficher ZZZ, il n'affiche rien ! Tout est effacé mais y
a rien à la place jusqu'à ce que je redimensionne la fenêtre ou que je
clique dessus, etc...

Ma question est donc : Pourquoi ? qu'est-ce que je fais de faux ? Je
pensais qu'avec le repaint cela lui disais de se redessiner ?!

d'avance merci pour vos explications

Barthélémy

1 réponse

Avatar
Jean-Marc Vanel
Bonjour à tous !

Soit une fenêtre contenant un jpanel XXX lui-même contenant un jpanel
YYY. Imaginons que je veuille mettre à la place de YYY un jpanel ZZZ.
Voici ce que j'écris et qui ne marche pas :
XXX.removeAll();
XXX.add(ZZZ);
repaint();

et là au lieu d'afficher ZZZ, il n'affiche rien ! Tout est effacé mais y
a rien à la place jusqu'à ce que je redimensionne la fenêtre ou que je
clique dessus, etc...

Ma question est donc : Pourquoi ? qu'est-ce que je fais de faux ? Je
pensais qu'avec le repaint cela lui disais de se redessiner ?!


Il faut plutôt un parmi revalidate() invalidate() ou validate() .