repaint vs paintImmediately
Bonjour,
Pour faire une animation d'un JPanel descendant, j'ai un Timer avec pour action le code suivant :
Code:
1 2 3 4 5
| setOpaque(false);
repaint(getVisibleRect());
setOpaque(true);
setSize(getWidth(), (getProgressInPercent() * getParent().getHeight()) / 100);
repaint(); |
Déjà ce code me plaît moyennement car je suis obligé de faire
Code:
1 2 3
| setOpaque(false);
repaint(getVisibleRect());
setOpaque(true); |
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 ?
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
Code:
paintImmediately(getVisibleRect());
là ça fonctionne mais avec du clipping très désagréable :?
Donc j'aimerais bien savoir pourquoi le premier repaint marche pas :)
Si quelqu'un a une idée je suis tout ouïe ! :ccool:
Merci d'avance à tous ceux qui se pencheront sur mon problème !