fin de la javadoc pour les listeners

This commit is contained in:
Lenny FOULOU
2024-12-09 23:09:42 +01:00
parent ed23272d09
commit d89c707120
7 changed files with 184 additions and 0 deletions

View File

@@ -6,15 +6,41 @@ import javax.swing.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
/**
* Listener pour gérer le bouton de fermeture dans la fenêtre des paramètres.
* Lors de l'action, le menu principal est réaffiché et la fenêtre des paramètres est cachée.
* @version 1.0
* @author Khalid CHENOUNA
*/
public class CloseButtonListener implements ActionListener { public class CloseButtonListener implements ActionListener {
/**
* Le menu principal à réafficher lorsque le bouton est activé.
*/
private MainMenu mainMenu; private MainMenu mainMenu;
/**
* La fenêtre des paramètres à fermer lorsque le bouton est activé.
*/
private JFrame settingsFrame; private JFrame settingsFrame;
/**
* Constructeur pour initialiser le listener avec le menu principal et la fenêtre des paramètres.
*
* @param mainMenu le menu principal à rendre visible.
* @param settingsFrame la fenêtre des paramètres à cacher lors de l'action.
*/
public CloseButtonListener(MainMenu mainMenu, JFrame settingsFrame) { public CloseButtonListener(MainMenu mainMenu, JFrame settingsFrame) {
this.mainMenu = mainMenu; this.mainMenu = mainMenu;
this.settingsFrame = settingsFrame; this.settingsFrame = settingsFrame;
} }
/**
* Méthode appelée lorsqu'une action est effectuée sur le bouton de fermeture.
* Rétablit la visibilité du menu principal et cache la fenêtre des paramètres.
*
* @param e l'événement d'action déclenché par le bouton.
*/
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
// Réafficher la fenêtre du menu principal // Réafficher la fenêtre du menu principal

View File

@@ -6,16 +6,43 @@ import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import java.awt.event.WindowEvent;
import javax.swing.*; import javax.swing.*;
/**
* Listener pour gérer la fermeture d'une fenêtre secondaire et réafficher le menu principal.
* Lorsque la fenêtre surveillée est fermée, ce listener rend visible le menu principal
* et cache la fenêtre en cours.
* @version 1.0
* @author Khalid CHENOUNA
*/
public class CloseWindowListener extends WindowAdapter { public class CloseWindowListener extends WindowAdapter {
/**
* Le menu principal à réafficher lorsque la fenêtre est fermée.
*/
private MainMenu mainMenu; private MainMenu mainMenu;
/**
* La fenêtre à cacher lors de sa fermeture.
*/
private JFrame frame; private JFrame frame;
/**
* Constructeur pour initialiser le listener avec le menu principal et la fenêtre surveillée.
*
* @param mainMenu le menu principal à rendre visible.
* @param frame la fenêtre surveillée à cacher lors de sa fermeture.
*/
public CloseWindowListener(MainMenu mainMenu, JFrame frame) { public CloseWindowListener(MainMenu mainMenu, JFrame frame) {
this.mainMenu = mainMenu; this.mainMenu = mainMenu;
this.frame = frame; this.frame = frame;
} }
/**
* Méthode appelée lorsque la fenêtre est en cours de fermeture.
* Rétablit la visibilité du menu principal et cache la fenêtre surveillée.
*
* @param e l'événement de fermeture de la fenêtre.
*/
@Override @Override
public void windowClosing(WindowEvent e) { public void windowClosing(WindowEvent e) {
// Réafficher la fenêtre du menu principal // Réafficher la fenêtre du menu principal

View File

@@ -5,7 +5,22 @@ import java.awt.event.WindowEvent;
import fr.monkhanny.dorfromantik.Options; import fr.monkhanny.dorfromantik.Options;
/**
* Listener pour gérer la fermeture du menu d'échappement (pause).
* Lorsque la fenêtre du menu d'échappement est fermée, ce listener met à jour l'état du jeu
* pour indiquer qu'il n'est plus en pause.
* @version 1.0
* @author Moncef STITI
*/
public class EscapeMenuCloseListener extends WindowAdapter { public class EscapeMenuCloseListener extends WindowAdapter {
/**
* Méthode appelée lorsque la fenêtre du menu d'échappement est en cours de fermeture.
* Met à jour l'état d'**Options.isPaused** pour indiquer que le jeu n'est plus en pause.
*
* @param e l'événement de fermeture de la fenêtre.
*/
@Override @Override
public void windowClosing(WindowEvent e) { public void windowClosing(WindowEvent e) {
Options.isPaused = false; Options.isPaused = false;

View File

@@ -5,13 +5,36 @@ import fr.monkhanny.dorfromantik.game.Board;
import java.awt.event.KeyAdapter; import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
/**
* Listener pour gérer les touches fléchées permettant de déplacer le plateau de jeu.
* Cette classe intercepte les événements de clavier pour déplacer le plateau dans les
* directions haut, bas, gauche et droite en fonction des flèches appuyées.
* @version 1.0
* @author Moncef STITI
*/
public class GameArrowKeyListener extends KeyAdapter { public class GameArrowKeyListener extends KeyAdapter {
/**
* Le plateau de jeu à manipuler lors des déplacements.
*/
private Board board; private Board board;
/**
* Constructeur pour initialiser le listener avec le plateau de jeu.
*
* @param board le plateau de jeu à déplacer en réponse aux événements de touches fléchées.
*/
public GameArrowKeyListener(Board board) { public GameArrowKeyListener(Board board) {
this.board = board; this.board = board;
} }
/**
* Méthode appelée lorsqu'une touche est enfoncée.
* Gère les déplacements du plateau selon la touche fléchée pressée.
*
* @param e l'événement de la touche pressée.
*/
@Override @Override
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) { switch (e.getKeyCode()) {

View File

@@ -6,13 +6,34 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import javax.swing.JFrame; import javax.swing.JFrame;
/**
* Listener pour gérer le clic sur le bouton de retour au menu principal dans le jeu.
* Cette classe cache la fenêtre actuelle du jeu et réinitialise l'état du jeu en appelant la méthode `Main.resetGame`.
* @version 1.0
* @author Moncef STITI
*/
public class GameMainMenuButtonListener implements ActionListener { public class GameMainMenuButtonListener implements ActionListener {
/**
* La fenêtre principale du jeu à cacher lors du retour au menu principal.
*/
private JFrame gameFrame; private JFrame gameFrame;
/**
* Constructeur pour initialiser le listener avec la fenêtre du jeu.
*
* @param gameFrame la fenêtre principale du jeu à manipuler.
*/
public GameMainMenuButtonListener(JFrame gameFrame) { public GameMainMenuButtonListener(JFrame gameFrame) {
this.gameFrame = gameFrame; this.gameFrame = gameFrame;
} }
/**
* Méthode appelée lorsqu'une action est déclenchée, comme un clic sur le bouton du menu principal.
* Cette méthode cache la fenêtre du jeu et appelle la méthode statique pour réinitialiser le jeu.
*
* @param e l'événement de l'action déclenchée.
*/
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
this.gameFrame.setVisible(false); this.gameFrame.setVisible(false);

View File

@@ -5,13 +5,36 @@ import java.awt.event.ActionListener;
import fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel; import fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel;
/**
* Listener pour gérer les clics sur le bouton de filtrage dans le panneau de sélection du mode de jeu.
* Cette classe permet de réinitialiser la page de sélection à la première page lors de l'application d'un filtre
* et de charger les séries correspondantes à cette page.
* @version 1.0
* @author Lenny FOULOU
*/
public class GameModeFilterButtonActionListener implements ActionListener { public class GameModeFilterButtonActionListener implements ActionListener {
/**
* Le panneau de sélection du mode de jeu.
*/
private GameModeSelectionPanel panel; private GameModeSelectionPanel panel;
/**
* Constructeur pour initialiser le listener avec le panneau de sélection du mode de jeu.
*
* @param panel le panneau de sélection du mode de jeu sur lequel agir.
*/
public GameModeFilterButtonActionListener(GameModeSelectionPanel panel) { public GameModeFilterButtonActionListener(GameModeSelectionPanel panel) {
this.panel = panel; this.panel = panel;
} }
/**
* Méthode appelée lorsqu'une action est déclenchée, comme un clic sur le bouton de filtrage.
* Elle réinitialise la page actuelle à la première page et recharge les séries correspondant à cette page.
*
* @param e l'événement de l'action déclenchée.
*/
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
panel.setCurrentPage(1); // Reset to first page when filtering panel.setCurrentPage(1); // Reset to first page when filtering

View File

@@ -8,17 +8,48 @@ import javax.swing.JButton;
import fr.monkhanny.dorfromantik.enums.Sounds; import fr.monkhanny.dorfromantik.enums.Sounds;
import fr.monkhanny.dorfromantik.utils.MusicPlayer; import fr.monkhanny.dorfromantik.utils.MusicPlayer;
/**
* Listener pour ajouter un effet visuel et sonore lors du survol et du clic sur un bouton.
* Cette classe change la couleur d'arrière-plan du bouton lorsqu'il est survolé, cliqué ou relâché,
* et joue un son lors du survol.
* @version 1.0
* @author Lenny FOULOU, Khalid Chenouna
*/
public class GameModeHoverEffectMouseListener extends MouseAdapter { public class GameModeHoverEffectMouseListener extends MouseAdapter {
/**
* La couleur d'arrière-plan par défaut du bouton.
*/
private Color defaultColor; private Color defaultColor;
/**
* La couleur d'arrière-plan lorsque le bouton est survolé.
*/
private Color hoverColor; private Color hoverColor;
/**
* La couleur d'arrière-plan lorsque le bouton est cliqué.
*/
private Color clickColor; private Color clickColor;
/**
* Constructeur pour initialiser les couleurs d'effet du bouton.
*
* @param defaultColor la couleur d'arrière-plan par défaut du bouton.
* @param hoverColor la couleur d'arrière-plan lors du survol du bouton.
* @param clickColor la couleur d'arrière-plan lors du clic sur le bouton.
*/
public GameModeHoverEffectMouseListener(Color defaultColor, Color hoverColor, Color clickColor) { public GameModeHoverEffectMouseListener(Color defaultColor, Color hoverColor, Color clickColor) {
this.defaultColor = defaultColor; this.defaultColor = defaultColor;
this.hoverColor = hoverColor; this.hoverColor = hoverColor;
this.clickColor = clickColor; this.clickColor = clickColor;
} }
/**
* Méthode appelée lorsque le curseur entre dans la zone du bouton.
* Elle modifie la couleur d'arrière-plan du bouton et joue un son.
*
* @param e l'événement de survol de la souris.
*/
@Override @Override
public void mouseEntered(MouseEvent e) { public void mouseEntered(MouseEvent e) {
if (e.getSource() instanceof JButton button) { if (e.getSource() instanceof JButton button) {
@@ -28,6 +59,12 @@ public class GameModeHoverEffectMouseListener extends MouseAdapter {
} }
} }
/**
* Méthode appelée lorsque le curseur quitte la zone du bouton.
* Elle rétablit la couleur d'arrière-plan par défaut du bouton.
*
* @param e l'événement de sortie de la souris.
*/
@Override @Override
public void mouseExited(MouseEvent e) { public void mouseExited(MouseEvent e) {
if (e.getSource() instanceof JButton button) { if (e.getSource() instanceof JButton button) {
@@ -35,6 +72,12 @@ public class GameModeHoverEffectMouseListener extends MouseAdapter {
} }
} }
/**
* Méthode appelée lorsque le bouton est pressé.
* Elle change la couleur d'arrière-plan du bouton pour la couleur de clic.
*
* @param e l'événement de pression du bouton de la souris.
*/
@Override @Override
public void mousePressed(MouseEvent e) { public void mousePressed(MouseEvent e) {
if (e.getSource() instanceof JButton button) { if (e.getSource() instanceof JButton button) {
@@ -42,6 +85,12 @@ public class GameModeHoverEffectMouseListener extends MouseAdapter {
} }
} }
/**
* Méthode appelée lorsque le bouton est relâché.
* Elle remet la couleur d'arrière-plan du bouton à celle de survol.
*
* @param e l'événement de relâchement du bouton de la souris.
*/
@Override @Override
public void mouseReleased(MouseEvent e) { public void mouseReleased(MouseEvent e) {
if (e.getSource() instanceof JButton button) { if (e.getSource() instanceof JButton button) {