2023-04-23 23:34:51 +02:00
|
|
|
import java.awt.event.*;
|
2023-04-28 20:24:54 +02:00
|
|
|
/**
|
2023-04-28 23:16:23 +02:00
|
|
|
* La class relai n'est réellement qu'une transition en fonctions des cliques effectué sur la grille et le traitement de ces cliques
|
2023-04-28 20:24:54 +02:00
|
|
|
* @version 1.1
|
|
|
|
* @author Matthis Fauvet
|
|
|
|
*/
|
2023-04-23 23:34:51 +02:00
|
|
|
public class Modifications implements MouseListener {
|
|
|
|
private PanneauModification unPanel;
|
|
|
|
private boolean[][] cetteGrille;
|
|
|
|
private int[] ceTab;
|
|
|
|
private ModificationsTab change;
|
2023-04-28 23:16:23 +02:00
|
|
|
|
2023-04-28 20:35:26 +02:00
|
|
|
/**
|
|
|
|
* Class qui créer un objet Algo determinatif pour résoudre le Labyrinthe
|
2023-04-28 23:16:23 +02:00
|
|
|
* @param panneauModification On récupère ce tableau pour avoir les valeurs des JButtons
|
|
|
|
* @param grilleTab On récupère la grille de boolean afin de la traiter dans la prochaine class
|
|
|
|
* @param unTab on récupère un tableau qui contient les valeurs Entree et sortie (si les cases sont posé ou non)
|
2023-04-28 20:35:26 +02:00
|
|
|
*/
|
2023-04-23 23:34:51 +02:00
|
|
|
public Modifications(PanneauModification panneauModification, boolean[][] grilleTab, int[] unTab){
|
|
|
|
this.unPanel = panneauModification;
|
|
|
|
this.cetteGrille = grilleTab;
|
|
|
|
this.ceTab = unTab;
|
|
|
|
}
|
2023-04-28 20:35:26 +02:00
|
|
|
/**
|
2023-04-28 23:16:23 +02:00
|
|
|
* Lorque qu'une cellule est clique, alors on lance la modification du tableau de boolean
|
|
|
|
* @param e
|
2023-04-28 20:35:26 +02:00
|
|
|
*/
|
2023-04-23 23:34:51 +02:00
|
|
|
public void mouseClicked(MouseEvent e) {
|
|
|
|
this.change = new ModificationsTab(this.unPanel, this.cetteGrille, this.ceTab, e);
|
|
|
|
}
|
2023-04-28 23:16:23 +02:00
|
|
|
|
|
|
|
|
2023-04-28 20:35:26 +02:00
|
|
|
/**
|
2023-04-28 23:16:23 +02:00
|
|
|
* Cette méthode permet de renvoyer le tableau des entré et sortie afin de le mettre continuellement a jour.
|
2023-04-28 20:35:26 +02:00
|
|
|
*/
|
2023-04-23 23:34:51 +02:00
|
|
|
public int[] getGateState(){
|
|
|
|
return this.ceTab;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Les méthodes suivantes ne sont pas utilisées dans cet exemple, donc nous les laissons vides
|
|
|
|
public void mouseExited(MouseEvent e) {}
|
|
|
|
public void mouseReleased(MouseEvent e) {}
|
|
|
|
public void mousePressed(MouseEvent e) {}
|
|
|
|
public void mouseEntered(MouseEvent e) {}
|
|
|
|
|
|
|
|
}
|
|
|
|
|