Files
SAE21_2025/ActionCase.java

44 lines
1.4 KiB
Java

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.SwingUtilities;
/**
* Écouteur d'événements de souris associé à chaque bouton de la grille.
* Détecte si le joueur effectue un clic gauche (révéler) ou un clic droit (marqueur).
*/
public class ActionCase implements MouseListener {
private FenetreJeu fenetreJeu;
private int ligne;
private int colonne;
/**
* Constructeur de l'action de case.
* @param f La fenêtre de jeu principale pour interagir avec sa logique.
* @param l L'index de la ligne de cette case.
* @param c L'index de la colonne de cette case.
*/
public ActionCase(FenetreJeu f, int l, int c) {
this.fenetreJeu = f;
this.ligne = l;
this.colonne = c;
}
/**
* Méthode déclenchée lors du clic sur le bouton de la case.
* @param e L'événement de la souris.
*/
public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isRightMouseButton(e)) {
fenetreJeu.clicDroit(ligne, colonne);
} else if (SwingUtilities.isLeftMouseButton(e)) {
fenetreJeu.clicGauche(ligne, colonne);
}
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
}