samplaid
Messages postés34Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention17 juillet 2008
-
3 avril 2007 à 17:27
Twinuts
Messages postés5374Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention 3 mars 2023
-
3 avril 2007 à 21:00
Bonjour j'ai un problème avec mon timer, je voudrais augmenter le temps de mon timer apres la création de ma classe. Lors de l'instanciation de ma classe le temps du timer est de 9 secondes et lorsque j'appelle la méthode setTimer(), j'aimerais que le timer recommence, mais cela ne va pas. Malgré mon appel de setTimer(), après les 9 premières secondes j'ai exécutée HelloTask. Quelqu'un a une idée. Merci d'avance
public
class TimerHello{
private Neightbour
neightbour;
private Timer
timer;
privatefinalstaticlongdelay = 9000;
public TimerHello(Neightbour v){
neightbour = v;
timer =
new Timer();
timer.schedule(
new HelloTask(),
delay );}
publicvoid setTimer() {
timer.cancel();
timer =
new Timer();
timer.schedule(
new HelloTask(),
delay);}
class HelloTask
extends TimerTask {
publicvoid run() {System.
err.println(
"Temps écoulé du packet HELLO vers le voisin " +
neightbour.getName());
timer.cancel();
//Terminate the timer thread}
}
}
Twinuts
Messages postés5374Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention 3 mars 2023110 3 avril 2007 à 21:00
Salut,
ba corrige le code par
publicvoid setTimer() {
timer.cancel();
<strike>timer =
new Timer();
</strike>
timer.schedule(task
,
delay); //pas besoin de recreer une instance sur task (perso je te conseil plus l'utilisation du timer de swing ou d'un thread
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."