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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2005
    Messages : 102
    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 averti
    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
    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 averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 29
    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