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 ?


-- 
SARL diaam informatique - 04 50 77 12 60
Ingenierie, développements de systèmes d'information
http://www.diaam-informatique.com

Répondre à