Question

J'ai des problèmes avec SetClip en Java. J'ai une classe qui étend Jpanel. Dans cette classe, j'ai remplacé la méthode PaintComponent. Ma méthode PaintComponent ressemble à ceci:

paintComponent {
    //draw some lines here
    Rectangle whole = g2.getClipBounds();//g2 is my Graphics2D object
    Rectangle part = <some rectangle that is a part of the whole paintable area>;
    g2.setClip(part);
    //draw some more stuff here
    g2.setClip(whole);
}

Le problème que je vois est que la zone de la région coupée semble être peinte à plusieurs reprises. Par exemple, si je lui dis de peindre, cela peint très bien. Mais alors, si je change de fenêtre ou que je le fais peindre à nouveau la même chose, la région coupée n'est pas dégagée tandis que le reste est. Il en résulte la peinture de la région coupée pour apparaître plus audacieuse que le reste de la zone peinte.

J'imagine que je manque quelque chose dans le fonctionnement de SetClip.

Toute suggestion serait très appréciée. Merci d'avance pour votre aide.

Était-ce utile?

La solution

Créer un nouvel objet graphique de l'ancien a fait l'affaire pour moi, comme l'a prévenu Tom.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top