Partage
  • Partager sur Facebook
  • Partager sur Twitter

minuter methode

    28 novembre 2008 à 14:49:34

    bonjour,

    je voudrai savoir comment faire pour arreter une methode pendant un laps de temps de 10 secondes.
    Si dans les 10 secondes je clique sur un bouton elle execute une tache sinon elle continue apres le temps ecoulé.
    je sais comment la stopper avec la methode sleep.
    methode run
    .
    .
    .
    try
    {
    Thread.sleep(10000L)
    }
    catch (InterruptedException e)
    {
    Sytem.out.println(e)
    }
    .
    .
    une fois le temps ecoulé
    fin methode.
    mon problème consite a la faire redemarrer en cliquant sur un bouton avant la fin des 10 secondes.
    Merci de bien vouloir me répondre.
    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2008 à 15:24:06

      ce que tu pourrais faire c'est de mettre le code qu'il y a après ton sleep dans un condition. Comme argument tu utilise un boolean qui est par exemple tourné à true et lorsque tu clique sur le bouton ça tourne le flag à false.

      private boolean executeLeCode;
      
      public void setExecuteLeCode(boolean executeLeCode){
        this.executeLeCode = executeLeCode;
      }
      
      public void taMethode(){
      ...
      ...
        try{
          Thread.sleep(10000L)
        }
        catch (InterruptedException e){
          Sytem.out.println(e)
        }
        if(executeLeCode){
         // Code à exécuter
        }
      ...
      ...
      }
      

      (tu dois juste initialiser ta variable à true à la construction de l'objet par exemple.

      et dans l'event de ton bouton tu fais

      nomDeTonObjet.setExecuteLeCode(false);
        // Suite de ta méthode
      


      Voilà, c'est ce que je ferais si j'avais quelque chose du genre à faire
      • Partager sur Facebook
      • Partager sur Twitter
        29 novembre 2008 à 11:25:07

        merci pour la réponse rapide.
        j'ai bien recopié le code.
        Le probleme est que la construction de mon bouton se fait dans une autre Class et là je suis largué au niveau de l'event avec nomDeTon Objet.setExecuteLeCode(false).
        si tu pouvais me préciser la construction exacte, ca serait super.
        encore merci.
        • Partager sur Facebook
        • Partager sur Twitter

        minuter methode

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown