forked from menault/TD3_DEV51_Qualite_Algo
ajout timer
This commit is contained in:
68
src/fr/iut/Projet/GameTimer.java
Normal file
68
src/fr/iut/Projet/GameTimer.java
Normal file
@@ -0,0 +1,68 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user