Timer : comment augmenter le tps d'un timer

Résolu
samplaid Messages postés 34 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 17 juillet 2008 - 3 avril 2007 à 17:27
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 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;

private
final
static
long
delay =   9000;

 public  TimerHello(Neightbour v){

neightbour  = v;

timer =  
 new  Timer();

timer.schedule(
new HelloTask(), 
 delay );}

public
void setTimer() {

timer.cancel();

timer   = 
new Timer();

timer.schedule(
new HelloTask(), 
delay);}

class HelloTask 
extends TimerTask {

public
void run() {System.

err.println(
"Temps écoulé du packet HELLO vers le voisin " + 
neightbour.getName());

timer.cancel(); 
//Terminate the timer thread}

}

}

A voir également:

7 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
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 ..."

WORA
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
3 avril 2007 à 17:55
Salut,

private
long delay = 9000;

+

une méthode setDelay(long delay)

devait allègrement suffire, non ?

gmi19oj19
samplaid Messages postés 34 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 17 juillet 2008 1
3 avril 2007 à 19:23
slt j'ai testé et rien ne change, je suis perdu....
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
3 avril 2007 à 20:29
Salut,

c'est le quel Timer que tu utilises ?????????

si c'est celui de swing oublie pas la méthode setInitialDelay....

sinon precise stp

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
samplaid Messages postés 34 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 17 juillet 2008 1
3 avril 2007 à 20:34
Le type de timer c'est java.util.Timer
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
3 avril 2007 à 20:54
Salut,

avec ce timer pasle choix utilise schedule

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
samplaid Messages postés 34 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 17 juillet 2008 1
3 avril 2007 à 20:57
Comment ca utiliser schedule, je le fais (voire source) à moins que c'est pas correct...
Rejoignez-nous