Amélioration de la javadoc et du code

This commit is contained in:
2024-12-06 23:26:40 +01:00
parent 8c483b35c3
commit 00f132d478
2 changed files with 91 additions and 16 deletions

View File

@@ -6,18 +6,57 @@ import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* ActionListener pour animer le défilement du plateau.
* Cette classe permet de déplacer progressivement le plateau en fonction de la cible et du nombre d'étapes.
*
* @version 1.0
* @author Khalid Chenouna, Lenny FOULOU
*/
public class TilePanningActionListener implements ActionListener {
/**
* Référence au plateau.
*/
private Board board;
private int targetOffsetX, targetOffsetY;
private int steps; // Nombre d'étapes pour l'animation
/**
* Cible X de défilement du plateau.
*/
private int targetOffsetX;
/**
* Cible Y de défilement du plateau.
*/
private int targetOffsetY;
/**
* Nombre d'étapes pour l'animation
*/
private int steps;
/**
* Timer pour l'animation
*/
private Timer timer;
// Indicateur pour vérifier si l'animation est en cours
/**
* Indique si une animation est en cours.
*/
private static boolean isAnimating = false;
// Variables pour suivre l'état de l'animation
/**
* Compteur d'étapes pour l'animation.
*/
private int currentStep = 0;
/**
* Constructeur pour initialiser les variables de l'animation.
*
* @param board Référence au plateau
* @param targetOffsetX Cible X de défilement du plateau
* @param targetOffsetY Cible Y de défilement du plateau
* @param steps Nombre d'étapes pour l'animation
*/
public TilePanningActionListener(Board board, int targetOffsetX, int targetOffsetY, int steps) {
this.board = board;
this.targetOffsetX = targetOffsetX;
@@ -25,6 +64,12 @@ public class TilePanningActionListener implements ActionListener {
this.steps = steps;
}
/**
* Méthode appelée à chaque étape de l'animation.
*
* @param e Evénement d'action
* @see ActionEvent
*/
@Override
public void actionPerformed(ActionEvent e) {
int currentOffsetX = board.getOffsetX();
@@ -54,10 +99,12 @@ public class TilePanningActionListener implements ActionListener {
}
}
// Lancer l'animation
/**
* Démarrer l'animation.
*/
public void startAnimation() {
if (isAnimating) {
stopCurrentAnimation();
stopAnimation();
}
isAnimating = true;
@@ -70,19 +117,13 @@ public class TilePanningActionListener implements ActionListener {
timer.start();
}
// Arrêter l'animation proprement
/**
* Arrêter l'animation.
*/
private void stopAnimation() {
if (timer != null) {
timer.stop(); // Arrêter le timer
}
isAnimating = false; // Réinitialiser l'indicateur d'animation
}
// Annuler l'animation en cours
private void stopCurrentAnimation() {
if (timer != null) {
timer.stop(); // Arrêter le timer de l'animation en cours
}
isAnimating = false; // Réinitialiser l'animation
}
}

View File

@@ -5,23 +5,57 @@ import java.awt.event.MouseEvent;
import javax.swing.JButton;
import java.awt.Color;
/**
* Listener pour animer un bouton lorsqu'il est survolé par la souris.
* Cette classe permet de changer la couleur du bouton lorsque la souris entre ou sort de la zone du bouton.
*
* @version 1.0
* @author Moncef STITI, Lenny FOULOU
*/
public class TutorialButtonHoverListener extends MouseAdapter {
/**
* Référence au bouton à animer
*/
private final JButton button;
/**
* Couleur de survol du bouton
*/
private final Color hoverColor;
/**
* Couleur d'origine du bouton
*/
private final Color originalColor;
/**
* Constructeur pour initialiser les variables du listener.
*
* @param button Référence au bouton à animer
* @param hoverColor Couleur de survol du bouton
* @param originalColor Couleur d'origine du bouton
*/
public TutorialButtonHoverListener(JButton button, Color hoverColor, Color originalColor) {
this.button = button;
this.hoverColor = hoverColor;
this.originalColor = originalColor;
}
/**
* Change la couleur du bouton lorsque la souris entre dans la zone du bouton.
* @param evt Evénement de souris
* @see MouseEvent
*/
@Override
public void mouseEntered(MouseEvent evt) {
button.setBackground(hoverColor); // Couleur plus claire au survol
}
/**
* Change la couleur du bouton lorsque la souris sort de la zone du bouton.
* @param evt Evénement de souris
* @see MouseEvent
*/
@Override
public void mouseExited(MouseEvent evt) {
button.setBackground(originalColor); // Retour à la couleur originale