Amélioration MVC / Responsabilité unique partie 3

This commit is contained in:
Moncef STITI 2024-04-29 13:25:47 +02:00
parent 3ab665b70d
commit 62a90389ca
2 changed files with 36 additions and 1 deletions

View File

@ -1,5 +1,4 @@
import java.awt.*; import java.awt.*;
import java.awt.event.*;
import javax.swing.*; import javax.swing.*;
/** /**

View File

@ -2,13 +2,29 @@ import java.awt.Color;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.event.MouseListener; import java.awt.event.MouseListener;
/**
* Classe GSCaseMouseListener implémente l'interface MouseListener
* pour gérer les événements de la souris sur un GSCase.
* @version 1.0
* @author Moncef STITI
* @author Marco ORFAO
*/
public class GSCaseMouseListener implements MouseListener { public class GSCaseMouseListener implements MouseListener {
private GSCase casePanel; private GSCase casePanel;
/**
* Constructeur prenant un GSCase en paramètre.
* @param casePanel Le GSCase à associer à cet écouteur.
*/
public GSCaseMouseListener(GSCase casePanel) { public GSCaseMouseListener(GSCase casePanel) {
this.casePanel = casePanel; this.casePanel = casePanel;
} }
/**
* Gère l'événement de clic de la souris.
* Active le GSCase et effectue des actions associées.
* @param e L'événement MouseEvent associé au clic.
*/
public void mouseClicked(MouseEvent e) { public void mouseClicked(MouseEvent e) {
if (!casePanel.isInitial) { if (!casePanel.isInitial) {
casePanel.isActive = true; casePanel.isActive = true;
@ -17,10 +33,25 @@ public class GSCaseMouseListener implements MouseListener {
} }
} }
/**
* Gère l'événement de pression de la souris.
* (Non utilisé dans cette implémentation)
* @param e L'événement MouseEvent associé à la pression.
*/
public void mousePressed(MouseEvent e) {} public void mousePressed(MouseEvent e) {}
/**
* Gère l'événement de relâchement de la souris.
* (Non utilisé dans cette implémentation)
* @param e L'événement MouseEvent associé au relâchement.
*/
public void mouseReleased(MouseEvent e) {} public void mouseReleased(MouseEvent e) {}
/**
* Gère l'événement de survol de la souris.
* Change la couleur du GSCase lors du survol.
* @param e L'événement MouseEvent associé au survol.
*/
public void mouseEntered(MouseEvent e) { public void mouseEntered(MouseEvent e) {
if (!casePanel.isInitial) { if (!casePanel.isInitial) {
if (!casePanel.isActive) { if (!casePanel.isActive) {
@ -29,6 +60,11 @@ public class GSCaseMouseListener implements MouseListener {
} }
} }
/**
* Gère l'événement de sortie de la souris.
* Rétablit la couleur du GSCase lors de la sortie.
* @param e L'événement MouseEvent associé à la sortie.
*/
public void mouseExited(MouseEvent e) { public void mouseExited(MouseEvent e) {
if (!casePanel.isInitial) { if (!casePanel.isInitial) {
if (!casePanel.isActive) { if (!casePanel.isActive) {