umafaid
Messages postés6Date d'inscriptionjeudi 1 février 2007StatutMembreDernière intervention30 juillet 2007
-
23 juil. 2007 à 09:02
umafaid
Messages postés6Date d'inscriptionjeudi 1 février 2007StatutMembreDernière intervention30 juillet 2007
-
23 juil. 2007 à 14:04
Bonjour,
j'utilise la classe Robot pour me déplacer automatiquement sur un
panel. Mais j'aimerais que le robot s'arrête au clic de l'utilisateur et qu'un point soit créé.
J'ai un thread qui exécute le code du robot. Et j'appelle ce thread
dans mon MouseClicked, juste avant que l'utilisateur puisse cliquer
pour sélectionner son point. Seulement, le clic, ne fait rien, le robot
continue à se déplacer automatiquement. Est ce que quelqu'un saurait
comment je peux régler ce problème?
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 23 juil. 2007 à 12:06
Bonjour,
J'ai plusieurs questions à te poser afin de mieux comprendre le fonctionnement, je vois que dans la méthode mouseClicked y a une variable etape à quel moment était elle initialisé? Arrives tu à avoir le message: "dernière étape" ? autre point, et il se peut que je me trompe, (j'ai pas eu le temps de vérifier) n'est il pas meilleur de killer ton thread au lieu de le mettre à null? Enfin bref, j'avais lu quelque part (une source que j'ai pas vérifié) que tu peux toujours utiliser System.gc(); afin de permettre au garbage collector de bien faire le nettoyage :) cette ligne de code que tu pourras mettre éventuellement aprés ta ligne: thr1=null;
umafaid
Messages postés6Date d'inscriptionjeudi 1 février 2007StatutMembreDernière intervention30 juillet 2007 23 juil. 2007 à 13:21
En fait, je n'ai mis que la partie qui me pose problème dans la méthode mouseClicked. Je n'ai pas le message "dernière étape" car mon Robot ne s'arrête pas au clic suivant. Il s'arrête après plusieurs clics et j'ai bien le message qui s'affiche. Mais j'aimerais que ce soit fait au premier clic après le robot. Je ne sais pas si c'est plus clair
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 23 juil. 2007 à 13:58
Affirmatif. Mais ce qui me pose problème c'est la variable etape à quel moment est elle initialisé? Et à quoi correspond la valeur que tu lui attribues, si le message d'erreur n'apparaît qu'aprés moulte tentaives de click, il est peut être normal à cause de cette variable, parce que là la question qui se pose ce n'est pas le fait que le thread ne s'arrête pas mais le fait que ton bout de code ne se lance pas pour une raison ou pour une autre. Si le problème serait le thread, as tu essayé la ligne que je t'ai proposé le system.gc(); et est ce que ça répondait à l'autre moitié de ta question.
Kenza
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 23 juil. 2007 à 13:58
Affirmatif. Mais ce qui me pose problème c'est la variable etape à quel moment est elle initialisé? Et à quoi correspond la valeur que tu lui attribues, si le message d'erreur n'apparaît qu'aprés moulte tentaives de click, il est peut être normal à cause de cette variable, parce que là la question qui se pose ce n'est pas le fait que le thread ne s'arrête pas mais le fait que ton bout de code ne se lance pas pour une raison ou pour une autre. Si le problème serait le thread, as tu essayé la ligne que je t'ai proposé le system.gc(); et est ce que ça répondait à l'autre moitié de ta question.
Kenza
Vous n’avez pas trouvé la réponse que vous recherchez ?
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 23 juil. 2007 à 13:59
Affirmatif. Mais ce qui me pose problème c'est la variable etape à quel moment est elle initialisé? Et à quoi correspond la valeur que tu lui attribues, si le message d'erreur n'apparaît qu'aprés moulte tentaives de click, il est peut être normal à cause de cette variable, parce que là la question qui se pose ce n'est pas le fait que le thread ne s'arrête pas mais le fait que ton bout de code ne se lance pas pour une raison ou pour une autre. Si le problème serait le thread, as tu essayé la ligne que je t'ai proposé le system.gc(); et est ce que ça répondait à l'autre moitié de ta question.
Kenza
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 23 juil. 2007 à 14:00
Affirmatif. Mais ce qui me pose problème c'est la variable etape à quel moment est elle initialisé? Et à quoi correspond la valeur que tu lui attribues, si le message d'erreur n'apparaît qu'aprés moulte tentaives de click, il est peut être normal à cause de cette variable, parce que là la question qui se pose ce n'est pas le fait que le thread ne s'arrête pas mais le fait que ton bout de code ne se lance pas pour une raison ou pour une autre. Si le problème serait le thread, as tu essayé la ligne que je t'ai proposé le system.gc(); et est ce que ça répondait à l'autre moitié de ta question.
Kenza
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 23 juil. 2007 à 14:01
Affirmatif. Mais ce qui me pose problème c'est la variable etape à quel moment est elle initialisé? Et à quoi correspond la valeur que tu lui attribues, si le message d'erreur n'apparaît qu'aprés moulte tentaives de click, il est peut être normal à cause de cette variable, parce que là la question qui se pose ce n'est pas le fait que le thread ne s'arrête pas mais le fait que ton bout de code ne se lance pas pour une raison ou pour une autre. Si le problème serait le thread, as tu essayé la ligne que je t'ai proposé le system.gc(); et est ce que ça répondait à l'autre moitié de ta question.
Kenza
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 23 juil. 2007 à 14:01
Affirmatif. Mais ce qui me pose problème c'est la variable etape à quel moment est elle initialisé? Et à quoi correspond la valeur que tu lui attribues, si le message d'erreur n'apparaît qu'aprés moulte tentaives de click, il est peut être normal à cause de cette variable, parce que là la question qui se pose ce n'est pas le fait que le thread ne s'arrête pas mais le fait que ton bout de code ne se lance pas pour une raison ou pour une autre. Si le problème serait le thread, as tu essayé la ligne que je t'ai proposé le system.gc(); et est ce que ça répondait à l'autre moitié de ta question.
Kenza
KenZara
Messages postés112Date d'inscriptionvendredi 24 décembre 2004StatutMembreDernière intervention20 décembre 2011 23 juil. 2007 à 14:02
Affirmatif. Mais ce qui me pose problème c'est la variable etape à quel moment est elle initialisé? Et à quoi correspond la valeur que tu lui attribues, si le message d'erreur n'apparaît qu'aprés moulte tentaives de click, il est peut être normal à cause de cette variable, parce que là la question qui se pose ce n'est pas le fait que le thread ne s'arrête pas mais le fait que ton bout de code ne se lance pas pour une raison ou pour une autre. Si le problème serait le thread, as tu essayé la ligne que je t'ai proposé le system.gc(); et est ce que ça répondait à l'autre moitié de ta question.
Kenza
umafaid
Messages postés6Date d'inscriptionjeudi 1 février 2007StatutMembreDernière intervention30 juillet 2007 23 juil. 2007 à 14:04
oui, j'ai mis la ligne System.gc(). Ma variable etape est initialisée bien avant et de etape== 0 à etape==5, tout fonctionne bien à chaque clic, je passe à l'étape suivante. Mais pour passer de etape5 à etape6 , un seul clique ne suffit pas.