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

AWT/Swing Java Discussion :

Compte à rebours avec Timer


Sujet :

AWT/Swing Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut Compte à rebours avec Timer
    Bonjour,
    Je souhaite afficher un compte à rebours en mode console.
    J'arrive seulement à afficher "coucou" neuf fois avec le code suivant :
    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
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.Timer;
     
    public class MainClass {
     
      public static void main(String[] args) 
      {
    	int i = 0;
        i++;
        Timer timer = new Timer(1000, new MyTimerActionListener());
        timer.start();
     
        try 
        {
          Thread.sleep(10000); // 10000 ms, ça s'affiche 10-1sec fois
          // Le timer dure 10sec et s'affiche tous les 1sec
        } catch (InterruptedException e) 
        {
        }
        timer.stop();
      }
     
    }
     
    class MyTimerActionListener implements ActionListener {
      public void actionPerformed(ActionEvent e) 
      {
        System.out.println("coucou");
      }
    }
    J'aimerais pouvoir afficher 9 8 7 6 5 4 3 2 1 ...
    Merci pour votre aide.

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Et si tu mets un attributs dans ta classe MyActionListener? Genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class MyTimerActionListener implements ActionListener {
          private int time;
     
          public MyTimerActionListener(int init) {
                super();
                this.time = init;
          }
     
          public void actionPerformed(ActionEvent e) {
                this.time--;
                System.out.println(this.time);
          }
    }
    Et tu passes ta valeur de départ à la construction de ton ActionListener.. Enfin, je dis ça vite fais

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Merci, ca marche bien.
    Et par hasard, est ce que tu serais faire un compte à rebours à partir d'une horloge. Je m'explique. Genre, on affiche 5 : 00 (pour 5min) et le compte à rebours affiche 4 : 59, 4 : 58, et ainsi de suite jusqu'à 0 : 00.
    C'est ça que je cherche à faire en fait.
    Merci de ton aide en tout cas et de ta présence sur ce forum.
    A+

  4. #4
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Ca me touche tant de remerciement pour si peu

    Bon, si je comprends bien ton idée, on peut continuer à se baser sur le même principe. Je m'explique : il suffit de prendre 2 attributs à ta classe MyActionListener : debutTimerMinute et debutTimerSeconde. Après, il s'agit d'une bête gestion des secondes quand tu décrémentes le temps dans ton actionPreformed
    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
    class MyTimerActionListener implements ActionListener {
          private int timeMinute;
          private int timeSeconde;
     
          public MyTimerActionListener(int initMinute, int initSeconde) {
                super();
                this.timeMinute = initMinute;
                this.timeSeconde = initSeconde;
          }
     
          public void actionPerformed(ActionEvent e) {
                if (this.timeSeconde == 0) {
                      this.timeMinute--;
                      this.timeSeconde = 59;
                } else
                      this.timeSeconde--;
                System.out.println(this.timeMinute + " : " + this.timeSeconde);
          }
    }
    Voilà

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 279
    Points
    279
    Par défaut
    Oh la classe!
    Je te remercie beaucoup, c'est niquel et parfait.
    Encore merci à toi.
    Tcho !

  6. #6
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Mais ce fut avec plaisir

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

Discussions similaires

  1. [débutant] compte à rebours avec changement d'image
    Par ravid87 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2011, 11h41
  2. Une histoire de compte à rebours (avec formulaire)
    Par Olivier14 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 04/03/2009, 13h43
  3. Compte à rebours avec affichage
    Par shazad dans le forum Débuter
    Réponses: 18
    Dernier message: 11/12/2008, 15h38
  4. Petit compte à rebours avec PHP.
    Par Trinout dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/09/2007, 16h06
  5. [timer] Compte à rebours pour redirection !
    Par Raideman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2005, 20h07

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