Heure et Dates actuelles ..

Résolu
Mayusu Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -  
Mayusu Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaye d'afficher l'heure et la dates actuelles d'une manière dynamique .. voilà le code que j'ai écrit mais il ne fonctionne pas et m'affiche le label vide :s

 public void clock()
 {
  Thread clock = new Thread()
  {
   public void Run()
   {
    try 
    {
     for(;;)
     {
     Calendar cal = new GregorianCalendar();
     
     int day = cal.get(Calendar.DAY_OF_MONTH);
     int month = cal.get(Calendar.MONTH);
     int year = cal.get(Calendar.YEAR);
     
     int second = cal.get(Calendar.SECOND);
     int minute = cal.get(Calendar.MINUTE);
     int hour = cal.get(Calendar.HOUR);
     
     lblClock.setText(hour + ":" + minute + ":" + second + "      " + day + "/" + month + "/" + year);
     
     sleep(1000);
     
     }
    } catch (InterruptedException e) 
    {
     e.printStackTrace();
    }
    
    
    
   }
  };
  
  clock.start();
  
  

 }
 public Bienvenue() {
  initialize();
  clock();
  
 }



EDIT: Ajout de la coloration syntaxique.

Merci beaucoup d'avance :)

3 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Je n'ai pas testé, mais la méthode
public void Run()
n'est pas celle attendue pour définir le corps du thread, c'est
public void run()
avec un "r" minuscule qui est attendu. Un moyen simple de ne pas se faire avoir c'est de rajouter l'annotation
@Override
qui va déclencher une erreur si la méthode sur laquelle elle est posée n'est pas une redéfinition.

Thread clock = new Thread()
{
    @Override
    public void run()
    {
1
Utilisateur anonyme
 
Salut,
J'ai essayé ça et cela fonctionne :

Thread clock = new Thread() {
   public void run() {
    try {
     for(;;) {
      SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
      Calendar cl = Calendar.getInstance();
      String currentDate = df.format(cl.getTime());
      
      lblClock.setText(currentDate);
      
      sleep(1000);
     }
    } catch (InterruptedException e) {
     e.printStackTrace();
    }
   }
  }; clock.start();
1
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Oui, ça fonctionne parce que tu as
run()
avec un "r" minusucle, alors que Mayusu as
Run()
avec un "R" majuscule, c'est ce que je disais déjà ici.

Comme la méthode
start()
appelle la méthode
run()
, écrire le traitement dans une méthode
Run()
est sans effet pour le Thread.
0
Mayusu Messages postés 43 Date d'inscription   Statut Membre Dernière intervention  
 
Je vois !

Merci infiniment :D
0