Files
DEV/SAE21_2024/code_source/MouseFenetreFin.java
2025-12-05 10:28:17 +01:00

62 lines
2.0 KiB
Java

import javax.swing.*;
import java.awt.event.*;
/**
* La classe <code>MouseFenetreFin</code> gère les événements de souris pour la fenêtre de fin de jeu.
* Elle permet de lancer une nouvelle partie ou de quitter le jeu en fonction des clics de souris.
*
* @version 1.6
* @author Emmanuel Srivastava-Tiamzon & Wael Atik
*/
public class MouseFenetreFin extends MouseAdapter {
/** La fenêtre associée à la fin du jeu. */
private JFrame fenetre;
/**
* Constructeur de la classe <code>MouseFenetreFin</code>.
* Initialise la fenêtre de fin du jeu.
*
* @param fenetre la fenêtre de fin du jeu
*/
public MouseFenetreFin(JFrame fenetre) {
this.fenetre = fenetre;
}
/**
* Vérifie si un clic de souris se trouve dans une zone définie par les coordonnées
* et les dimensions données.
*
* @param clickX la coordonnée X du clic
* @param clickY la coordonnée Y du clic
* @param x la coordonnée X de la zone
* @param y la coordonnée Y de la zone
* @param w la largeur de la zone
* @param h la hauteur de la zone
* @return true si le clic est dans la zone, false sinon
*/
private boolean isInArea(int clickX, int clickY, int x, int y, int w, int h) {
return clickX >= x && clickX <= x + w && clickY >= y && clickY <= y + h;
}
/**
* Méthode appelée lorsqu'un clic est effectué dans la fenêtre de fin du jeu.
* Cette méthode gère les actions à effectuer selon l'endroit où l'utilisateur clique.
*
* @param e l'événement de clic de souris
*/
@Override
public void mouseClicked(MouseEvent e) {
int x = e.getX();
int y = e.getY();
if (isInArea(x, y, 290, 270, 200, 75)) {
fenetre.dispose();
FenetreDebut fenetredebut = new FenetreDebut();
fenetredebut.setVisible(true);
} else if (isInArea(x, y, 300, 355, 200, 75)) {
System.exit(0);
}
}
}