Probleme de chronomètre

Résolu
cyril4900 Messages postés 13 Date d'inscription lundi 26 janvier 2004 Statut Membre Dernière intervention 7 août 2007 - 15 avril 2007 à 16:35
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 15 avril 2007 à 17:21
Bonjour à tous,

Je veut réaliser une classe chronomètre qui permet soit de compter ou decompter. Cette classe représentera un Label. Rien d'extrordianaire hein ! Seulement dés que je veux faire 2 instances de cette classe, l'un en compteur, l'autre en décompteur, les deux instances intérragissent ensemble et evidement les 2 chronos se bloques. Je rapelle que une instance à la fois, il y a aucun soucis.
Si qq trouve l'erreur surement bête que j'ai pu faire, il me rendrait un grand service

Merci

Voici le code :

public class Chronometre extends JLabel implements ActionListener {

    private static int minute=0,seconde=0;
    private boolean decont;
    private Timer monTimer;
   
       
    public Chronometre(int monTempsRestant,boolean decont)
    { super();
      this.setForeground(Color.RED);
      monTimer=new Timer(1000,null);
      monTimer.addActionListener(this);
      minute=monTempsRestant;
      this.decont=decont;
      setText(minute+":"+seconde);
    }
   
     public void actionPerformed(ActionEvent e1)
     {if(!decont)
      { seconde++;
        if(seconde==60)
        {
        seconde=0;
        minute++;
        }
        if(minute==60)        minute=0;
     
      }
     else{
        seconde--;
        if(seconde==-1)
        {
         seconde=59;
         minute--;
        }
       
       
     
     }
     
      setText(minute+":"+seconde);/* rafraichir le label */
     
     }
   
     
     
    public void setStart()
    {
        monTimer.start();
    }
   
    public void setStop()
    {
        monTimer.stop();
    }
   
    public void setInit()
    {   monTimer.stop();
        minute=0;
        seconde=0;
        setText(minute+":"+seconde);
       
       
    }
}

Voici mes instances :

Chronometre monChrono=new Chronometre(0,false);
Chronometre monTempsRestant=new Chronometre(10,true);

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 avril 2007 à 17:21
Bah forcément, tu mets les deux membres minute et seconde en static, donc ils sont partagés entre toutes les instances de ta classe !

Quel est l'intérêt de les mettre en static ?
3
Rejoignez-nous