patriospatrios
Messages postés10Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention21 avril 2009
-
21 avril 2009 à 15:48
patriospatrios
Messages postés10Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention21 avril 2009
-
21 avril 2009 à 18:24
Bonjour,
j'ai une fonction qui implemente mouselistener et je suis en train
d'avoir les coordonnees de la souris à chaque fois que je la déplace.
Je veux envoyer ces coordonnees à un web service mais je veux envoyer
une seule coordonnées chaque les 2 secondes. Mais à l'insctruction: port.afficher(e.getX(),e.getY()); le compilateur m'exige de mette la variable e comme final, mais moi je veux pas qu'elle soit final car je veux qu'elle change à chaque fois je déplace la souris.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 21 avril 2009 à 17:11
Ben si je comprends bien ton code, tu déclenche le timer à chaque mouvement de la souris (il doit planter à un moment donné non ?).
Le but est de créer le Timer une fois pour toute et de ne stocker que les X et Y de ta souris dans une variable membre de classe.
Ca doit donner un truc du genre (de tête, je te laisse corriger ce qui ne compile pas) :
Ainsi, l'événement se déclenche toutes les 2000 ms, n'envoie que la dernière position connue, et n'envoie rien si la souris n'a pas bougée (petite optimisation).
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 21 avril 2009 à 15:55
Salut,
Cela ne veux pas dire qu'elle ne sera plus jamais modifié à chaque appel à la fonction : cela veut dire que toi, dans le corps de la fonction, tu ne pourras plus la modifier, c'est bien différent !
patriospatrios
Messages postés10Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention21 avril 2009 21 avril 2009 à 16:28
Merci bien de me répondre.
Merci, oui j'ai essayé ce que vous avez dit et j'ai trouvé qu'elle se modifit à chaque appel.
Mais le seul probléme qui reste c'est que meme si je ne suis pas en train de déplacer la souris l'envoi des coordonnees se répéte dans une boucle tous les 2 secondes. Mais moi je veux que le programme envoi seulement la derniére position et non plus tous les coordonnées précédents en boucle.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 21 avril 2009 à 16:39
Pour cela, il te faut un timer qui se déclenche toutes les 2 secondes, et dont le but est d'envoyer la valeur d'une variable remplie par ton evénéments à chaque mouvement de souris, ainsi il n'enverra que la dernière position connue.
Vous n’avez pas trouvé la réponse que vous recherchez ?
patriospatrios
Messages postés10Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention21 avril 2009 21 avril 2009 à 16:49
Oui ça ce que je veux. Mais je pense que je suis en train de le faire avec le code cité au dessus
je suis en train de prendre la position avec e.getX() et e.getY(), si non est ce que vous pouvez me signaler comment.
Merci