44 lines
1.4 KiB
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) {}
|
|
}
|