ldumont
Messages postés53Date d'inscriptionlundi 21 janvier 2008StatutMembreDernière intervention 5 mars 2008
-
24 févr. 2008 à 23:28
Utilisateur anonyme -
25 févr. 2008 à 20:47
Bonjour,
cela fait quelques heures déjà que j'essaie de me renseigner sur les thread etc et j'y comprends pas grand chose hélas. J'aimerais afficher le temps écoulé depuis le clic sur un bouton,pouvoir arreter le temps toujours par un clic et pouvoir remettre à zéro et reprendre. je suppose que pour cela il faut utiliser un thread mais je vois pas du tout comment faire...
Si une âme charitable avait une suggestion, elle serait la bienvenue ;)
De rien. C'est bon je viens de mettre l'archive compressée à jour. N'oublie pas que tu devras peut-être pour tes besoins ajouter un Thread qui appelera aussi souvent que tu le jugeras nécessaire la méthode sync() de la classe main.Clock. Tu peux faire ainsi :
final Clock clock = new Clock();
clock.start();
new Thread(new Runnable(){
public void run(){
while(true)
{clock.sync();
Thread.sleep(1000);
}
}
}).start();
Si tu es dans l'Event Dispatch Thread (ce qui est fort possible quand tu manipules tes composants Swing), utilise plutôt la méthode SwingUtilities.invokeLater(Runnable runnable) pour lancer la tâche que je mentionne ci-dessus sans bloquer l'interface homme-machine.
ldumont
Messages postés53Date d'inscriptionlundi 21 janvier 2008StatutMembreDernière intervention 5 mars 2008 25 févr. 2008 à 12:20
Merci, mais quand je disais que j'avais passé déjà quelques heures pour comprendre les threads, c'était justement sur ce tuto lol. Le problème c'est quil faut quand même un certain prérequis sur le fonctionnement des threads pour le comprendre.
J'ai un truc qui ressemble à ce dont tu parles mais qui n'a pas besoin de Thread. C'est une classe toute bête qui me sert d'horloge interne pour mon jeu. C'est une sorte de chronomètre. Je peux le démarrer, le mettre en pause, reprendre, l'arrêter et même tout remettre à zéro. A tout moment, je peux savoir combien de temps s'est écoulé. Je ne vais pas tarder à remettre les sources de mon jeu vidéo à jour. A ce moment-là, jette un coup d'oeil dans le package "main" dans la classe "Clock" :
http://download.tuxfamily.org/tuer/tuer.zip