Synchronisation souris

Résolu
cs_artichaud Messages postés 36 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 2 février 2010 - 16 mai 2008 à 16:03
cs_artichaud Messages postés 36 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 2 février 2010 - 16 mai 2008 à 16:55
Hello, j'ai un problème de synchronisation entre une animation (qui suit les mouvements de la souris) et les mouvements de la souris via un drag. Lorsque je lâche la souris, l'anim continue alors qu'elle devrait s'arrêter, ou du moins afficher la dernière image. Apparamment, tous les mouvements de la souris sont enregistrés dans une pile pour être traités plus tard au cas où l'exécution du programme prendrait plus de temps que le temps séparant les instants de transfert entre l'ordi et la souris
D'habitude je programmais dans des applets et je n'avais pas ce problème, les saisies de la position de la souris se faisaient visiblement lorsque l'anim cessait de tourner et non pendant. Maintenant j'utilise une application et ca ne marche plus

Dans l'applet:

 public synchronized boolean handleEvent(Event e)
 {
    xPointCourant = e.x;
    yPointCourant = e.y;
    anim();
 }
   
dans l'appli:

 public void mouseDragged(MouseEvent e)
 {
    xPointCourant = e.getX();
    yPointCourant = e.getY();
    anim();
 }

je n'ai pas vérifié ce que ca faisait d'enlever synchronized dans l'applet mais en tout cas si je rajoute synchronized devant mouseDragged dans l'appli, ca ne change rien

Comment désactiver la pile d'enregistrement des évènements et synchroniser en temps réel les évènements avec le reste du programme?

je précise que "anim();" se trouve en fait dans une autre classe mais que cette classe n'utilise pas de thread

1 réponse

cs_artichaud Messages postés 36 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 2 février 2010 1
16 mai 2008 à 16:55
euh... j'ai plus ce problème. Je ne sais pas pourquoi... C'est parceque l'ordi rame parfois qu'il se met à empiler les actions à faire?
3
Rejoignez-nous