Herve AGNOUX wrote:
Bonjour,
J'ai une petite fen�tre, dans laquelle il y a un composant au layout null : je
me d�brouille moi m�me pour dessiner ce que je dois y dessiner. Et je dois y
placer des infos venant d'un r�seau, qui arrivent donc de fa�on non-synchrone
par rapport au dispatching thread de awt. Je fais alors religieusement
attention � me re-synchroniser sur ce thread.
A chaque info venant du r�seau, je ne veux pas redessiner tout mon composant,
sinon mes performances vitesses vont s'�crouler. Je calcule le clip concern�,
et j'envoie le repaint. Je suis bien oblig� de trouver le clip avant d'entrer
dans le dispatching thread, puisque les m�thodes de la famille "paint" ont ce
clip en param�tre, dans le contexte graphique.
Manque de bol, pour calculer le clip, j'ai besoin de la taille de mon
composant. Or cette info risque d'�tre modifi�e pendant le dispatching thread
: si jamais l'utilisateur � la mauvaise id�e de modifier la taille de ma
fen�tre juste au moment o� il arrive quelque chose du r�seau, tout est foutu
; donc, pour l'avoir, je devrais d�j� me synchroniser sur lui. Mais je suis
justement dans une phase o� je ne me suis pas encore synchronis� : je calcule
le clip. Mais, pour avoir ce clip...
Bref savez-vous comment je peux m'en sortir ?
post ton code dans la queue d'�v�nement avec SwingUtilities.invokeAndWait() ou invokeLater() comme ca tu peut fait des paintImmediately().
Remi
