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 :

JAVA/ECLIPSE Problème chronometre


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut JAVA/ECLIPSE Problème chronometre
    Bonjour,

    Je suis en train de réaliser un projet sur Eclipse et j'ai besoin d'un chronomètre. Je compte utiliser :
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.awt.event.*;
     
    public class Timer{
     
    private static int heure=0,minute=0,seconde=0;
     
    		public static void main(String[] args){
    			/* Le timer */
     
    			int delais=1000;
     
    			ActionListener tache_timer;
     
     
     
    			/* création des composants */
     
    		final JLabel Label1 = new JLabel(heure+":"+minute+":"+seconde); /* déclarer final car une classe interne va acceder à ce composant */
     
    			final JButton debut = new JButton("Start");
    			JButton fin = new JButton("Remise à zéro");
    			JFrame fenetre = new JFrame("Chronomètre");
    			JPanel Panel1 = new JPanel();	
     
    	/* 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++;
    				}
    				Label1.setText(heure+":"+minute+":"+seconde);/* rafraichir le label */
     
    			}
     
    			};
     
    			final Timer timer1= new Timer(delais,tache_timer);
     
    			/* Ajout des composants aux conteneurs avec formatage */
    		Panel1.add(debut);
    		Panel1.add(fin);
    			Label1.setBorder(new EmptyBorder(10,135,10,10));
    			fenetre.getContentPane().add(Label1,"Center");
    			fenetre.getContentPane().add(Panel1,"South");
     
    /* Lors du clic sur le bouton debut */
    			debut.addActionListener(new ActionListener()
    			{
    				public void actionPerformed(ActionEvent e)
    				{
    					String texte;
    					texte=debut.getText();
    					if(texte.compareTo("Start")==0)
    {						debut.setText("Stop ");
    						timer1.start();
    }					else if(texte.compareTo("Stop ")==0)
     
    					{
    						debut.setText("Start");
    						timer1.stop();
    					}
    				}
    			});
    			/* Lors du clic sur le bouton fin */
    			fin.addActionListener(new ActionListener()
    {				public void actionPerformed(ActionEvent e)
    				{
    					String texte;
    					texte=debut.getText();
     
    					if(texte.compareTo("Start")==0)
    					{
    						heure=0;
    						minute=0;
    						seconde=0;
    						debut.setText("Start");
     
    						Label1.setText(heure+":"+minute+":"+seconde);
     
    					}
     
    				}
     
    			});
     
    			fenetre.pack();
     
    			fenetre.setLocation(350,200);  /* Déplacer la fenetre à ce nouvel emplacement */
     
    			fenetre.setSize(300,100);   /* dimension de la fenetre */
     
    			fenetre.show();
     
    		}
     
    	}
    Le problème c'est qu'il n'accepte pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	final Timer timer1= new Timer(delais,tache_timer);
    Les arguments pris par le constructeur Timer ne semble pas lui convenir...Je ne comprends pas trop d'où vient le problème. Pouvez vous m'aider ?

    Merci, Maxime

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2005
    Messages : 102
    Points : 130
    Points
    130
    Par défaut
    Salut,

    Il faut que tu définisses un constructeur pour ta classe Timer (du moins si tu veux l'initialiser comme tu l'as fait dans ton code. Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Timer timer = new Timer();
    est suffisant!

    Pour le constructeur, il faut qu'il soit comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public Timer (int nombre, ActionListener actionListener) {
            ...
    }
    Qu'est-ce que tu veux faire exactement ?

    A plus,
    Mathieu

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Je veux juste un système pour compter heure/minutes/secondes. Il est nécessaire que le compteur s'affiche à l'écran. On doit pouvoir le démarrer et l'arreter.

    J'ai essayé d'ajouter des variabiables d'instance et un constructeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int time;
    ActionListener actionListener;
     
    public Timer (int nombre, ActionListener actionListener) {  
    	this.time=nombre;
    	this.actionListener=actionListener;
    	 }
    ou de mettre juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Timer timer = new Timer();
    Le problème est qu'il ne reconnait ni la méthode start ni stop. Dois je définir ces méthodes ?

    Merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    Points : 20
    Points
    20
    Par défaut
    Bonjour à tous,

    Moi aussi j'ai pris ce chronométre, j'ai un probléme qui me semble similaire.
    Quand j'applique la méthode stop() à mon chrono, le chrono ne s'arréte pas alors qu'il passe bien par cette méthode.
    Quelqu'un pourrait-il m'aider ?

    Merci d'avance


    flo62

Discussions similaires

  1. Problème de collision rectangle 2D Java Eclipse
    Par Greenthehide dans le forum 2D
    Réponses: 2
    Dernier message: 03/11/2014, 05h31
  2. [TOMCAT-ECLIPSE] Problème classpath !
    Par VoD dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 22/11/2004, 11h34
  3. [Tomcat 5 + Eclipse] Problème de configuration
    Par seb55555 dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 26/10/2004, 15h20
  4. Eclipse - problème de création d'un projet Tomcat
    Par firado dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/07/2004, 11h05
  5. [Debutant Java JOGL] problème glVertexPointer()
    Par Stef784ever dans le forum OpenGL
    Réponses: 2
    Dernier message: 21/04/2004, 17h43

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