Amélioration de la javadoc et du code
This commit is contained in:
@@ -6,18 +6,57 @@ import javax.swing.*;
|
|||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
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 {
|
public class TilePanningActionListener implements ActionListener {
|
||||||
|
/**
|
||||||
|
* Référence au plateau.
|
||||||
|
*/
|
||||||
private Board board;
|
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;
|
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;
|
private static boolean isAnimating = false;
|
||||||
|
|
||||||
// Variables pour suivre l'état de l'animation
|
/**
|
||||||
|
* Compteur d'étapes pour l'animation.
|
||||||
|
*/
|
||||||
private int currentStep = 0;
|
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) {
|
public TilePanningActionListener(Board board, int targetOffsetX, int targetOffsetY, int steps) {
|
||||||
this.board = board;
|
this.board = board;
|
||||||
this.targetOffsetX = targetOffsetX;
|
this.targetOffsetX = targetOffsetX;
|
||||||
@@ -25,6 +64,12 @@ public class TilePanningActionListener implements ActionListener {
|
|||||||
this.steps = steps;
|
this.steps = steps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode appelée à chaque étape de l'animation.
|
||||||
|
*
|
||||||
|
* @param e Evénement d'action
|
||||||
|
* @see ActionEvent
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
int currentOffsetX = board.getOffsetX();
|
int currentOffsetX = board.getOffsetX();
|
||||||
@@ -54,10 +99,12 @@ public class TilePanningActionListener implements ActionListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lancer l'animation
|
/**
|
||||||
|
* Démarrer l'animation.
|
||||||
|
*/
|
||||||
public void startAnimation() {
|
public void startAnimation() {
|
||||||
if (isAnimating) {
|
if (isAnimating) {
|
||||||
stopCurrentAnimation();
|
stopAnimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
isAnimating = true;
|
isAnimating = true;
|
||||||
@@ -70,19 +117,13 @@ public class TilePanningActionListener implements ActionListener {
|
|||||||
timer.start();
|
timer.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Arrêter l'animation proprement
|
/**
|
||||||
|
* Arrêter l'animation.
|
||||||
|
*/
|
||||||
private void stopAnimation() {
|
private void stopAnimation() {
|
||||||
if (timer != null) {
|
if (timer != null) {
|
||||||
timer.stop(); // Arrêter le timer
|
timer.stop(); // Arrêter le timer
|
||||||
}
|
}
|
||||||
isAnimating = false; // Réinitialiser l'indicateur d'animation
|
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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -5,23 +5,57 @@ import java.awt.event.MouseEvent;
|
|||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import java.awt.Color;
|
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 {
|
public class TutorialButtonHoverListener extends MouseAdapter {
|
||||||
|
/**
|
||||||
|
* Référence au bouton à animer
|
||||||
|
*/
|
||||||
private final JButton button;
|
private final JButton button;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Couleur de survol du bouton
|
||||||
|
*/
|
||||||
private final Color hoverColor;
|
private final Color hoverColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Couleur d'origine du bouton
|
||||||
|
*/
|
||||||
private final Color originalColor;
|
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) {
|
public TutorialButtonHoverListener(JButton button, Color hoverColor, Color originalColor) {
|
||||||
this.button = button;
|
this.button = button;
|
||||||
this.hoverColor = hoverColor;
|
this.hoverColor = hoverColor;
|
||||||
this.originalColor = originalColor;
|
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
|
@Override
|
||||||
public void mouseEntered(MouseEvent evt) {
|
public void mouseEntered(MouseEvent evt) {
|
||||||
button.setBackground(hoverColor); // Couleur plus claire au survol
|
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
|
@Override
|
||||||
public void mouseExited(MouseEvent evt) {
|
public void mouseExited(MouseEvent evt) {
|
||||||
button.setBackground(originalColor); // Retour à la couleur originale
|
button.setBackground(originalColor); // Retour à la couleur originale
|
||||||
|
Reference in New Issue
Block a user