# Java > Interfaces Graphiques en Java > AWT/Swing >  Comment afficher un chronomtre et un compte  rebours dans Swing/Matisse ?

## blackguitar

Bonjour, 

Je souhaite crer une JFrame dans laquelle il y aurait un chronometre, et surtout un compte  rebours.

Ex: un compte  rebour de 30 min et un chrono en simultan qui donne le temps restant (ben oui , y'en a qui savent pas compter ....), un bouton start and Stop et un bouton Raz.
Format 00:00 (minute:seconde).

Donc je sais dj faire les boutons et leur associer des actions.


Mon problme est : quelle action associe ???
la fonction timer ???
Comment l'utiliser ???

Merci pour vos ides ..... ::?:  ::?:  ::?:

----------


## bouye

Faudra probablement en faire un bean et fournir un beaninfo (http://java.sun.com/j2se/1.4.2/docs/.../BeanInfo.html). Me semble que c'est comme ca que fait SwingX (on peut rajouter des objets SwingX dans la palette de NetBeans).

----------


## blackguitar

Oki, merci, mais :

C'est quoi un bean ???
Y aurait - il quelque part des tutos traitant ce sujet ?

Merci

----------


## sinok

J'ai plutt l'impression que Bouye a t gar par ton titre. Grosso modo netbeans n'a absolument rien  voir la dedans.

Pour apprendre  utiliser un timer: http://java.sun.com/docs/books/tutor...isc/timer.html

Il te reste juste  mettre  jour des JLabel contenant le temps parcouru depuis le dpart (donc comparer le temps initial t obtenu via un System.currentTimeMillis au temps courrant obtenu via la mme mthode et retrancher le rsultat du temps prvu).

----------


## bouye

Ben vi moi j'ai vu Matisse donc j'ai tout de suite pens "intgration  la palette de composants de NetBeans".

=> C'est quoi un bean ?

----------


## blackguitar

Merci les gars pour vos rponses, et en effet, l'erreur vient peut etre de moi, 
je developpe sous MyEclipse, et il y  la tablette Matisse de Netbeans intgre avec Swing.

Voila,

----------


## blackguitar

Re - Bonjour...
Bon aprs quelques recherches sur le net , j'ai un semblant de dbut d'application qui tourne ...sauf que ....
Mon chrono : start : il part, pas de probleme,
                  : stop : il s'arrte pas....et je vois pas pourquoi, le pire c'est que le bouton change bien de start  stop et inversement, mais il s'arrte pas et quand je reclique sur start, le "dlais", double.....bref, je crois que je suis dans une boucle.....

Donc, je vous joins le code complet, si quelqu'un peut m'aider....merci !!!


```

```

----------


## sinok

Tu devrais plutt dcolarer ton timer en tant qu'attribut priv de ta classe et uniquement faire des start/stop dans les listeners. En effet l c'est totalement le bordel ton truc,  savoir que tu cres un nouveau timer  chaque action et que tu ne le stopes pas forcment. 
Tu as juste besoin d'un seul timer sur lequel tu fais du start et du stop.

Genre



```

```

----------


## blackguitar

Merci pour la rponse, 
mais je dois faire une classe a part , ou je l'inclus dedans ???
Pourrais -tu me l'inclure dans mon code, enfin,, me dire a quel endroit je dois le mettre ?

Merci,

----------


## sinok

Bah tu transposes, c'est pas la mort  faire. 


Pour commencer tu vires tout ce que tu as fait dans initComponents. Cette mthode est  rserver uniquement  Netbeans. Elle ne contiendra que ce qui concerne le placement et l'aspect graphique des composants, et surtout rien d'autre. De fait le dveloppeur NE DOIT PAS modifier cette partie.

Je cite expressment:


```

```


Puis gentiment tu cres ta variable Timer en tant qu'attribut de ta classe comme je l'ai fait(et donc bye bye le final Timer tout crade pos n'importe o qui est la source de ton problme).

Puis dans le constructeur de ta classe tu cres ce timer avec le listener qui va bien (donc tache_timer dans ton cas, accessoirement tu ferais bien d'aller lire un tant soit peu les conventions de codage en java).

Puis toujours dans ton diteur netbeans tu ajoutes un ActionListener  ton JButton via l'interface de design de netbeans. Cel va te crer une mthode prive dans ta classe du nom de jButton1ActionPertformed ou quelque chose dans ce style. Dans cette mthode tu ajouteras le code de dmarrage/arrt du timer.

Voila

----------


## blackguitar

Salut Sinok....

Merci pour ta rponse, 
j'ai donc essay ce que tu m'as dit , mais j'ai d faire un couac quelquepart parce que ca fonctionne toujours p.....
Tu verras le nouveau code, 
le chrono ne s'affiche pas et le bouton start ne change pas...en bref, je dois oublier de lancer quelquechose ....non ??



```

```

----------


## sinok

tu ne dois pas mettre le timer dans une classe interne mais directement dans ta classe.

De fait le contenu de ta classe chrono devrait se trouver dans ta classe TableDeMarques.

Bref, t'as pas mal  relire dans tes cours sur le java en lui mme avant de t'attaquer  la partie graphique. J'ai l'impression que tu n'entartes pas grand chose l.

----------


## blackguitar

En effet, je suis un gros boulet sur Swing...bref, bon j'essaye ca et je te dis

....

----------


## blackguitar

Bon, ben c'est cool , ca fonctionne impeccable, voir mme deux peccable...

Merci Sinok, tu passeras le bonjour a choco ???

J'ai suivi ton conseil et j'ai relus les standards.....

----------


## blackguitar

Bon, le timer marche , mais je mes suis rendu compte qu'il ne se rinitialize pas....
j'ai un bouton "raz", qui remet le chrono a 20:00, mais il repart au dernier temps arrt....

Ca va c'est clair ???

Si quelqu'un a une ide......j'ai essay avec un Restart()....
mais rien ....


Merci d'avance...

----------


## blackguitar

C'est bon ....j'ai trouv....

Merci......

----------


## moinahadouj

Bonsoir,
j'ai le mme souci que ceci je veux utiliser un chronomtre dans mon application java Swing
je travaille sous netBeans et j'ai copi le code concernant le timer mais a marche pas quelqu'un veux bien venir en aide

merci d'avance

----------

