Chronometre

sarici Messages postés 12 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 27 mai 2008 - 27 avril 2008 à 02:18
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 29 avril 2008 à 19:39
Bonjour,
comment faire pour mettre un chronometre dans un label??

En fait j'ai:
JFrame Fjeu = new JFrame ("Rotation mentale: Jeu");
JButton start = new JButton("Start");
JLabel chronoLabel = new JLabel ("chrono");
et je voudrais que quand je clic sur le bouton start, le chronometre tourne dans le label chronoLabel!
Est ce que cela est possible et si oui comment??

Merci pour vos reponses...
A voir également:

9 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
27 avril 2008 à 08:30
Salut,

regardes les sources du site à propos de ce sujet..

par exemple..
0
sarici Messages postés 12 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 27 mai 2008
27 avril 2008 à 11:50
oui mais je n'arrive pas a mettre le chronometre dans le label!!!
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
27 avril 2008 à 14:00
Slt.
Tu peux aller jetter un oeil sur ma source intitulée "Chronometre" (ici => http://www.javafr.com/codes/CHRONOMETRE_46422.aspx).
Pour faire ce que tu veux faire, il faut que tu lui ajoute un TimeListener et dès que le temps à changé (timeChanged) tu récupère la nouvelle valeur du temps en faisant "getTime();".
Jette également un oeil à la classe de teste (dans la quelle il y a déjà un listener d'ajouté, il te suffit juste de remplacer le "System.out.println(...);" par "lblTime.setText(c.getTime());").
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
27 avril 2008 à 14:01
dsl Chatbour, je n'avais pas vu que tu faisais déjà référence à cette source (merci :o) ).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
27 avril 2008 à 15:14
pas de problème
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
27 avril 2008 à 16:00
Re.
Tiens, je te donnes le code que tu veux .. ;o) (après, c'est a toi de l'adapter en fonction de ce que tu veux faire dans ton appli.)

ps: j'ai garder les noms que tu avais donné à tes composants...

/**
 * @(#)ChronoIntoLabel.java
 *
 *
 * @author Jean-Baptiste Fromenteau
 * @version 1.0.0 2008/4/27
 */



import com.jbf.java.util.Chronometre;



import com.jbf.java.util.event.TimeListener;
import com.jbf.java.util.event.TimeEvent;



import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;



import java.awt.FlowLayout;
import java.awt.Dimension;



import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;





/**
 *To display time into a JLabel ... ;o)
 *
 **/



public class ChronoIntoLabel extends JFrame {
 
 
 /**
  *The used chornometre.
  *
  **/
 protected Chronometre chrono = null;
 
 
 /**
  *The JLabel in which we will display the current time.
  *
  **/
 protected JLabel chronoLabel = null;
 
 /**
  *The JButton to styart the chronometre.
  *
  **/
 protected JButton start = null;
 
 
 
 /**
  *The constructor of the frame.
  *
  **/
 public ChronoIntoLabel () {
  
  //Frame properties
  this.setTitle("Rotation mentale: Jeu");
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setLocationRelativeTo(null);
  this.setLayout(new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));
  
  
  //The chronometre to use
  chrono = new Chronometre();
  chrono.addTimeListener(new TimeListener() {
   
   //Here (when the time has changed)
   public void timeChanged (TimeEvent evt) {
    actualizeTime();
   }
   
   public void timeStarted (TimeEvent evt) {}
   
   public void timeStoped (TimeEvent evt) {}
   
   public void timeSuspended (TimeEvent evt) {}
   
   public void timeResumed (TimeEvent evt) {}
   
   public void timeReseted (TimeEvent evt) {}
   
   public void hoursChanged (TimeEvent evt) {}
   
   public void minutesChanged (TimeEvent evt) {}
   
   public void secondsChanged (TimeEvent evt) {}
   
  });
  
  
  //The JLabel which allow us to display time
  chronoLabel = new JLabel(" ");
  chronoLabel.setAlignmentX(JLabel.CENTER);
  this.getContentPane().add(chronoLabel);
  
  //The button to start chronometre
  start = new JButton("Start");
  start.setPreferredSize(new Dimension(150, 25));
  start.addActionListener(new ActionListener() {
   public void actionPerformed (ActionEvent evt) {
    startChrono();
   }
  });
  
  JPanel panelButton = new JPanel(new FlowLayout());
  panelButton.add(start);
  this.getContentPane().add(panelButton);
  
  
  //Automatic size (and show created frame)
  this.pack();
  this.setVisible(true);
  
 }
 
 
 
 /**
  *To run the chronometre (this method is called when the start button is pushed).
  *
  **/
 public void startChrono () {
  
  chrono.start();
  
 }
 
 /**
  *To actualize the displayed time.
  *
  **/
 public void actualizeTime () {
  
  chronoLabel.setText(chrono.getTime());
  
 }
 
 
 
 /**
  *Main method (to execute the class).
  *
  **/
 public static void main (String arg[]) {
  
  new ChronoIntoLabel();
  
 }
 
}





voila .. :p
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
28 avril 2008 à 20:32
Heu ... ^o) ..
Si les réponses que l'on t'as apporté te conviennent (répondent à ta question), merci de cocher "réponse accepté!" .. ;o)

+
0
sarici Messages postés 12 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 27 mai 2008
28 avril 2008 à 23:00
En fait, j'arrive tjr pas a le faire marcher!!!!
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
29 avril 2008 à 19:39
Pour exécuter le code que je t'ai donné tu n'as qu'as faire un copier/coller dans le bloc note, l'enregistrer sous "ChronoIntoLabel.java", le compiler et le lancer..
Pour ce qui est de la mise en oeuvre du code, l'idée c'est "je créer un chronomètre et à chaque fois que le temps change je récupère le nouveau temps pour l'afficher dans un JLabel" (d'où l'utilisation des évènement : TimeEvent et TimeListener).
0