Bonjour,
Pour faire une animation d'un JPanel descendant, j'ai un Timer avec pour action le code suivant :
Déjà ce code me plaît moyennement car je suis obligé de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 setOpaque(false); repaint(getVisibleRect()); setOpaque(true); setSize(getWidth(), (getProgressInPercent() * getParent().getHeight()) / 100); repaint();
juste pour redessiner le composant parent sans le panel en question... On peut pas garder une trace du Graphics correspondant au composant parent avant l'ajout du fils et le faire dessiner quand on en a besoin ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 setOpaque(false); repaint(getVisibleRect()); setOpaque(true);
Enfin bref, ce n'est pas l'origine de mon post, voici mon problème :
le premier repaint ne fait strictement rien, alors que si à la place je mets
là ça fonctionne mais avec du clipping très désagréable
Code : Sélectionner tout - Visualiser dans une fenêtre à part paintImmediately(getVisibleRect());
Donc j'aimerais bien savoir pourquoi le premier repaint marche pas
Si quelqu'un a une idée je suis tout ouïe !
Merci d'avance à tous ceux qui se pencheront sur mon problème !








Répondre avec citation







Partager