ajout retour au menu

This commit is contained in:
martins 2022-10-24 14:56:36 +02:00
parent 8494e167a7
commit 6fb50882dc
5 changed files with 33 additions and 9 deletions

View File

@ -1,12 +1,20 @@
package fr.iutfbleau.projetAgile.Menu.Controller;
import java.awt.event.*;
import java.awt.Component;
import javax.swing.JOptionPane;
import fr.iutfbleau.projetAgile.Menu.View.Menu;
public class ObservateurAccueil implements ActionListener{
public ObservateurAccueil(){}
private Component comp;
private String jeu;
public ObservateurAccueil(Component parent, String jeu0){
this.comp=parent;
this.jeu=jeu0;
}
public void actionPerformed(ActionEvent evenement){
Menu.show(Menu.MENU);
int confirmation = JOptionPane.showConfirmDialog(this.comp, "Etes-vous sûr de vouloir retourner au menu ?", "Menu", JOptionPane.YES_NO_OPTION);
if(confirmation == 1) return;
Menu.show(Menu.MENU, this.comp, this.jeu);
}
}

View File

@ -16,7 +16,7 @@ public class ObservateurMenuSouris implements MouseListener{
public void mouseClicked(MouseEvent evenement){
BoutonsMenu bout=(BoutonsMenu) (evenement.getComponent());
if(bout.getPath()==Menu.PUISSANCE_4){
Menu.show(Menu.PUISSANCE_4);
Menu.show(Menu.PUISSANCE_4, null, null);
}
} // un bouton cliqué
public void mouseEntered(MouseEvent evenement){

View File

@ -5,6 +5,9 @@ import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import fr.iutfbleau.projetAgile.Menu.Controller.*;
import fr.iutfbleau.projetAgile.Puissance4.View.*;
import fr.iutfbleau.projetAgile.Puissance4.Controller.*;
import fr.iutfbleau.projetAgile.Puissance4.Model.*;
public abstract class Menu{
public static String PUISSANCE_4="puissance4";
@ -128,11 +131,20 @@ public abstract class Menu{
* si l'argument ne correspond pas a une Carte
*/
public static void show(String g) throws IllegalArgumentException
public static void show(String g, Component composent, String proveneur) throws IllegalArgumentException
{
if(g==Menu.MENU || g==Menu.PUISSANCE_4){
if((g==Menu.MENU || g==Menu.PUISSANCE_4) && (proveneur==Menu.PUISSANCE_4 || proveneur==null)){
if(g!=Menu.MENU)
Menu.cd.show(Menu.frame.getContentPane(), g);
else{
Menu.cd.removeLayoutComponent(composent);
if(proveneur==Menu.PUISSANCE_4){
Grille f = new Grille();
GrilleModel m = new GrilleModel();
Puissance4Controller p = new Puissance4Controller(f, m);
Menu.frame.add(p.getPanel(), Menu.PUISSANCE_4);
}
}
}else{
throw new IllegalArgumentException();
}

View File

@ -3,6 +3,8 @@ package fr.iutfbleau.projetAgile.Puissance4.Controller;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import fr.iutfbleau.projetAgile.Menu.Controller.ObservateurAccueil;
import fr.iutfbleau.projetAgile.Menu.View.Menu;
import fr.iutfbleau.projetAgile.Puissance4.Model.GrilleModel;
import fr.iutfbleau.projetAgile.Puissance4.Utils.GameStatus;
import fr.iutfbleau.projetAgile.Puissance4.View.Grille;
@ -37,6 +39,7 @@ public class Puissance4Controller {
this.panel = new Puissance4Panel(this.grille);
this.panel.init();
this.panel.resetButton(resetListener);
this.panel.acceuilButton(new ObservateurAccueil(this.getPanel(), Menu.PUISSANCE_4));
ModelEventListener modelListener = new ModelEventListener(panel);
this.panel.setPlayerOneName(this.modele.getPlayerOneName());
this.panel.setPlayerTwoName(this.modele.getPlayerTwoName());

View File

@ -3,7 +3,6 @@ package fr.iutfbleau.projetAgile.Puissance4.View;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import fr.iutfbleau.projetAgile.Puissance4.Controller.ObservateurAcceuil;
import fr.iutfbleau.projetAgile.Puissance4.Utils.Constants;
import fr.iutfbleau.projetAgile.Puissance4.Utils.GameStatus;
import java.awt.*;
@ -41,7 +40,6 @@ public class Puissance4Panel extends JPanel{
gbc.weightx = 0;
gbc.weighty = 0;
gbc.insets = new Insets(0, 0, 0, 0);
this.menu.addActionListener(new ObservateurAcceuil());
this.add(this.menu, gbc);
@ -117,6 +115,9 @@ public class Puissance4Panel extends JPanel{
public void resetButton(ActionListener l) {
this.reset.addActionListener(l);
}
public void acceuilButton(ActionListener l){
this.menu.addActionListener(l);
}
public void changeLabel(int joueur) {
switch(joueur){