Timer avec thread

marc_dd Messages postés 61 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 2 juillet 2009 - 28 mai 2006 à 16:00
marc_dd Messages postés 61 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 2 juillet 2009 - 28 mai 2006 à 17:54
bonjour à tous,
voilà mon problème j'ai codé un timer avec un thread, timer qui doit tourner en console et gui
 il tourne pas de problème mais quand je fait interrupt et que je veut le redemarrer apres il me sort un illegalthreadstateexception
quand je le redemarre je le réinitialise et je fait temps.start()
aussi quand je fais tempsjeu.isinterrupted et tempsaffiche (mon label gui avec le temps) il me dit true pour l'un et false pour l'autre alors que je fais interrupt sur les 2

mais la erreur
merci d'avance
Marc

2 réponses

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
28 mai 2006 à 17:48
heu aurais tu des morceaux de codes ?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
marc_dd Messages postés 61 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 2 juillet 2009
28 mai 2006 à 17:54
voilà les bouts de mon codes

timer
public void run() {
  try {
  while (true) {     
  if (interrupted())return ;
    sleep(1000);
    time++;
   }



  } catch (Exception ex) {}
 }



 // ****************************************************************************************
 public void StartDTimer() {
  time = modele.Gettime();
  start();
 }



 // ****************************************************************************************
 public void StopDTimer() {
  this.interrupt();
  //DTimer.interrupted();
  modele.Settime(time);
  time=0;
 }



 // ****************************************************************************************
 public int Gettime() {
  return this.time;
 }
 public void savetime()
 {
  modele.Settime(time);
 }
 //****************************************************************************************
 public void init ()
 {
  time=0;
 }

timer graphqiue

public void run() {
  try {
   while (true) {
    if (interrupted()){return;}
    l.setText("temps :                                                     "+ t.Gettime() / 60 + ":" + t.Gettime() % 60);



    sleep(1000);
   }
  } catch (InterruptedException e) {
  }
 }



 public JLabel gettimer() {
  return this.l;
 }




 public void arret() {
  interrupt();//timergraphique.interrupted();
  t.StopDTimer();
  System.out.println(t.isInterrupted()+" "+ isInterrupted()+" "+t.isAlive()+" "+this.isAlive());
 }





voilà

merci d'avance
Marc
0
Rejoignez-nous