IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Faire un timer simplement


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut Faire un timer simplement
    J'aimerai avoir un timer qui fasse office de chronomêtre. Je ne comprends pas trop le timer de swing avec les ActionListener.

    N'y a - t - il pas un moyen plus simple?

    merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    java.util.Timer ?

  3. #3
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour ,
    ou plutot javax.swing.Timer compte tenu de ce dont tu parles
    Timer(int delay, ActionListener listener)
    Creates a Timer that will notify its listeners every delay milliseconds.
    C'est simple d'utilisation ,tu definie ton ActionListener dans lequel tu is comment va fonctionner ton chronometre(minute,seconde ...) et apres tu definie ton temps ("delay") d'exection de l'action et pour le demarrer il suffit de faire tonTimer.start();
    Je te laisse faire et ensuite propose quelque chose si tu y arrive pas je te montrerai
    Sinon tu peux aussi utiliser java.lang.Thread
    @+

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut
    Voici un code que j'ai récupéré et modifié:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
     import java.lang.*;
     import java.awt.*;
     import javax.swing.*;
     import javax.swing.border.*;
     import java.awt.event.*; 
     
    public class Main {
     
    	private static int heure=0,minute=0,seconde=0;
     
    	public static void main(String[] args) {
     
    		   /* Le timer */
    		  int delais=1000;
    		  ActionListener tache_timer;
     
    		  /* Action réalisé par le timer */
    		  tache_timer= new ActionListener()
    		  {
    		  public void actionPerformed(ActionEvent e1)
    		  {
    		  seconde++;
    		  if(seconde==60)
    		  {
    		  seconde=0;
    		  minute++;
    		  }
    		  if(minute==60)
    		  {
    		  minute=0;
    		  heure++;
    		  }
    		  System.out.println(heure+":"+minute+":"+seconde);
    		  }
    		  };
     
    		  /* instanciation du timer */
    		  final Timer timer1= new Timer(delais,tache_timer);
    		  timer1.start();
     
    	}
     
    }
    J'essaye d'afficher l'heure courante à chaque seconde.

    Qu'est ce qui cloche?

    merci

  5. #5
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    BOnjour
    Qu'est ce qui cloche?
    Ce qui cloche c'est que dans ton code je ne vois que l'affichage d'un chrono qui demarre à chaque execution.et je ne vois nul part la recuperation de l'heure systeme.
    Si tu veux afficher l'heure courante chaque seconde commences par recupperer l'heure systeme et l'afficher recupperer l'heure systeme Gregorian Calendar
    .Au lieu d'afficher ton chrono tu recupere heure,minute et seconde systeme et tu l'affiches
    Ps:je crois que ton code parle mode graphique et non mode console
    @+

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut
    Oui en effet c'est pompé d'un chrono graphique.
    Mais moi ce que je veux c'est juste avoir un chrono.
    Je ne veux pas forcément l'heure courante, je veux dans un premier temps avoir la valeur du chrono depuis que je l'ai lancé à un instant t.

    Y a - t- il un autre moyen qu'avec le Timer de Swing?

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Faire un timer precis sous windows !
    Par Niklaos dans le forum C++
    Réponses: 4
    Dernier message: 06/01/2010, 22h15
  2. Cherche à faire des falsh simplement
    Par debo41 dans le forum Flash
    Réponses: 0
    Dernier message: 23/01/2009, 14h30
  3. La bonne méthode pour faire des timers
    Par Tigrounette dans le forum Général Java
    Réponses: 10
    Dernier message: 19/07/2008, 22h35
  4. faire un timer en php
    Par fmdr dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2006, 17h07
  5. Comment faire un Timer de fonction PORTABLE ?
    Par dieuP1guin dans le forum C
    Réponses: 3
    Dernier message: 04/07/2003, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo