SAE21_2022/GestionChoixAlgo.java

72 lines
3.1 KiB
Java
Raw Normal View History

import javax.swing.*;
import java.awt.event.*;
2023-04-28 20:26:02 +02:00
/**
* Cette class a pour but de rediriger le programme vers l'algorithme que l'utilisateur a choisit
2023-04-28 20:26:02 +02:00
* @version 1.1
* @author Matthis Fauvet
*/
public class GestionChoixAlgo extends JFrame implements ActionListener {
private JFrame cetteFrame;
private ButtonGroup ceGroupe0;
private ButtonGroup ceGroupe1;
private int cetteTaille;
private JFrame frameGrille;
private boolean[][] cetteGrille;
private Cellules[][] cetteGrilleCell;
2023-04-28 20:37:00 +02:00
/**
* Class qui créer un objet Algo determinatif pour résoudre le Labyrinthe
* @param uneTaille Taille de notre lab actuel
* @param uneFrame Fenetre actuelle récupéré pour la clore quand elle n'est plus utile
* @param group0 Récupération de l'algo choisit
* @param group1 Récupération de la visualisation choisit
* @param uneGrille notreLabyrinthe sous forme de tab de boolean
* @param grilleCell notreLabyrinthe sous forme de tab de Cellules
* @param uneFenetre On récupère la grille est affiché le lab pour voir si on la ferme ou non (tout dépend de l'algo)
2023-04-28 20:37:00 +02:00
*/
public GestionChoixAlgo(int uneTaille, JFrame uneFrame, ButtonGroup group0, ButtonGroup group1, boolean[][] uneGrille, Cellules[][] grilleCell,JFrame uneFenetre){
this.cetteFrame = uneFrame;
this.ceGroupe0 = group0;
this.ceGroupe1 = group1;
this.cetteTaille = uneTaille;
this.frameGrille=uneFenetre;
this.cetteGrille = uneGrille;
this.cetteGrilleCell=grilleCell;
}
2023-04-28 20:37:00 +02:00
/**
* Cette méthode, en fonction des JRadioButton sélectionné ou non, va dirigé le programme vers un type d'algo et son parcours précis
* important : Cette méthode ne se lance que si et seulement si le bouton a été préssé
* @param e raison de l'événement
2023-04-28 20:37:00 +02:00
*/
public void actionPerformed(ActionEvent e){
this.cetteFrame.dispose();
if(this.ceGroupe0.getSelection().getActionCommand()=="Aalea" && this.ceGroupe1.getSelection().getActionCommand()=="Vauto")
{
this.frameGrille.dispose();
AlgoAlea algorithme = new AlgoAlea(this.cetteTaille, this.cetteGrille, this.cetteGrilleCell, null);
algorithme.auto();
}
else if(this.ceGroupe0.getSelection().getActionCommand()=="Adeter" && this.ceGroupe1.getSelection().getActionCommand()=="Vauto")
{
this.frameGrille.dispose();
AlgoDeter algorithme = new AlgoDeter(this.cetteTaille, this.cetteGrille, this.cetteGrilleCell, null);
algorithme.auto();
}
else if(this.ceGroupe0.getSelection().getActionCommand()=="Aalea" && this.ceGroupe1.getSelection().getActionCommand()=="Vman")
{
2023-04-28 19:17:35 +02:00
this.frameGrille.setLocation(500, 100);
AlgoAlea algorithme = new AlgoAlea(this.cetteTaille, this.cetteGrille, this.cetteGrilleCell, this.frameGrille);
algorithme.manuel();
}
else if(this.ceGroupe0.getSelection().getActionCommand()=="Adeter" && this.ceGroupe1.getSelection().getActionCommand()=="Vman")
{
2023-04-28 19:17:35 +02:00
this.frameGrille.setLocation(500, 100);
AlgoDeter algorithme = new AlgoDeter(this.cetteTaille, this.cetteGrille, this.cetteGrilleCell, null);
algorithme.manuel();
}
}
}