forked from menault/TD3_DEV51_Qualite_Algo
		
	
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package fr.iut.Projet;
 | |
| 
 | |
| import javax.swing.*;
 | |
| import java.awt.event.ActionEvent;
 | |
| import java.awt.event.ActionListener;
 | |
| 
 | |
| /**
 | |
|  * Classe GameTimer qui gère le temps écoulé sur un mot.
 | |
|  * 
 | |
|  * Affiche le temps en secondes dans un JLabel et peut être intégré
 | |
|  * à la fenêtre du jeu.
 | |
|  */
 | |
| public class GameTimer {
 | |
| 
 | |
|     /** Label affichant le temps écoulé */
 | |
|     private JLabel timerLabel;
 | |
| 
 | |
|     /** Timer Swing qui incrémente le temps chaque seconde */
 | |
|     private Timer timer;
 | |
| 
 | |
|     /** Compteur de secondes écoulées */
 | |
|     private int secondsElapsed;
 | |
| 
 | |
|     /**
 | |
|      * Constructeur : crée le label et initialise le timer.
 | |
|      */
 | |
|     public GameTimer() {
 | |
|         this.secondsElapsed = 0;
 | |
|         this.timerLabel = new JLabel("Temps : 0 s");
 | |
|         timerLabel.setHorizontalAlignment(SwingConstants.RIGHT);
 | |
| 
 | |
|         // Timer qui déclenche l'action toutes les 1000ms (1 seconde)
 | |
|         this.timer = new Timer(1000, new ActionListener() {
 | |
|             @Override
 | |
|             public void actionPerformed(ActionEvent e) {
 | |
|                 secondsElapsed++;
 | |
|                 timerLabel.setText("Temps : " + secondsElapsed + " s");
 | |
|             }
 | |
|         });
 | |
|     }
 | |
| 
 | |
|     /** Démarre le timer */
 | |
|     public void start() {
 | |
|         secondsElapsed = 0;
 | |
|         timer.start();
 | |
|     }
 | |
| 
 | |
|     /** Arrête le timer */
 | |
|     public void stop() {
 | |
|         timer.stop();
 | |
|     }
 | |
| 
 | |
|     /** Remet le compteur à zéro */
 | |
|     public void reset() {
 | |
|         secondsElapsed = 0;
 | |
|         timerLabel.setText("Temps : 0 s");
 | |
|     }
 | |
| 
 | |
|     /** @return le JLabel contenant le temps écoulé */
 | |
|     public JLabel getTimerLabel() {
 | |
|         return timerLabel;
 | |
|     }
 | |
| 
 | |
|     /** @return le temps écoulé en secondes */
 | |
|     public int getSecondsElapsed() {
 | |
|         return secondsElapsed;
 | |
|     }
 | |
| } |