Exclusion mutuelle

jawspipeline Messages postés 1 Date d'inscription mardi 15 février 2005 Statut Membre Dernière intervention 3 mai 2005 - 3 mai 2005 à 11:27
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007 - 4 mai 2005 à 09:16
salut,

je dispose de deux classes, une me permettant de modifier un schéma et
l'autre affichant le schéma(graphics2D). La première classe contient
des boutons et j'aimerai que les méthodes liées à chaque bouton
attendent que l'évènement mouseClicked qui doit remplir une chaine de
caractères. Pour résumer, j'ai une méthode actionPerformed d'une classe
A qui doit attendre l'exécution de la méthode mouseClicked d'une classe
B pour se terminer. J'ai essayé avec des synchronized, wait et notify
mais aucun résultat.



Si quelqu'un a une idée???



A+

2 réponses

wildcat31 Messages postés 46 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 28 août 2005 3
3 mai 2005 à 15:22
Bonjour,
Essaye avec simplement un flag : un boolean que tu mets par exemple à false, tant que la méthode mouseClicked est pas finie.
Dans la classe A, tu fais une boucle while tant que c pas bon.
Par contre c un peu bloquant, mais tu peux toujours rajouter un timer pour débloquer au bout d'un certain temps.
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
4 mai 2005 à 09:16
La bonne reponse est les deux a la fois:

tu mets bien un flag (boolean) et tu synchronize le tout, le notify et
le test du flag te permettra de debloquer la situation.

-------------------
dams
-------------------
0
Rejoignez-nous