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 :

stopper le timer


Sujet :

AWT/Swing Java

  1. #1
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut stopper le timer
    Bonjour, j'ai une classe JPanel dans laquelle je dessine par des appels du Timer, mais je ne sais pas comment stopper mon timer, ou puis je mettre mon t.stop() ? D'avance merci de vos idées

    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
     
    public class MonGraphique extends JPanel
    {
    static int i;
    MonGraphique()
    {
    javax.swing.Timer t = new javax.swing.Timer(100, new ActionListener() {
              public  void actionPerformed(ActionEvent e) {
                  repaint();
              }
           });
           t.start();
    }
     
    protected void paintComponent(Graphics g) 
    {
     
    super.paintComponent(g);
    g.drawString ("test",10+i,10);
    }
     
    }

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Oui, tu peut mettre t.stop();

  3. #3
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    Je suis d'accord qu'il faut mettre un t.stop();
    Mais je ne sais pas où ? (effectivement j'ai écrit "ou" sans accent dans mon premier message)

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Salut,

    j'ai modifié le code (pas testé):
    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
    public class MonGraphique extends JPanel
    {
        static int i;
        javax.swing.Timer timer;
     
    MonGraphique()
    {
       timer = new javax.swing.Timer(100, new ActionListener() {
              public  void actionPerformed(ActionEvent e) {
                  repaint();
              }
           });
    }
     
    protected void paintComponent(Graphics g)
    {
     
    super.paintComponent(g);
    g.drawString ("test",10+i,10);
    }
     
    public void startRepaint() {
        timer.start();
    }
     
    public void stopRepaint() {
         timer.stop();
    }
    }
    Tu appelles la méthode startRepaint pour démarrer le repaint et la méthode stopRepaint pour le stopper.

    Où placer le stop? C'est un peu difficile pour te répondre. Je te dirai là où tu en as besoin....
    Bien le bonjour chez vous
    Jowo

  5. #5
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par comme de bien entendu
    Je suis d'accord qu'il faut mettre un t.stop();
    Mais je ne sais pas où ? (effectivement j'ai écrit "ou" sans accent dans mon premier message)
    Je me demandais si c'était ou ou où... ^^

    ben ca dépend de quand tu veut arreter le timer...

    Le mieux c'est de faire une condition dans le actionPerformed qui stoppe le Timer lui-meme

  6. #6
    Membre actif
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Points : 247
    Points
    247
    Par défaut
    ok merci, je manque encore d'un peu de réalisme (comme on dit dans le football) mais la réussite va venir...

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

Discussions similaires

  1. Stopper un timer et le relancer
    Par guillome29 dans le forum IHM
    Réponses: 2
    Dernier message: 23/04/2013, 13h15
  2. stopper le timer (clearTimeout )
    Par zaineb.z dans le forum Général JavaScript
    Réponses: 34
    Dernier message: 03/07/2008, 12h29
  3. Stopper un timer
    Par NeMo_O dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 22/05/2008, 10h06
  4. Réponses: 9
    Dernier message: 10/08/2007, 16h21
  5. [VB6] Comment Stopper un Timer ??
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 05/05/2006, 09h46

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