diff --git a/Banniere.java b/Banniere.java index 4e40cf9..eb2be10 100644 --- a/Banniere.java +++ b/Banniere.java @@ -3,9 +3,11 @@ import java.awt.*; import java.awt.event.*; public class Banniere extends JPanel { + private FrameJeu fenetre; // Définition du constructeur - public Banniere(int mines) { + public Banniere(int mines, FrameJeu fenetre) { super(); + this.fenetre=fenetre; // On défini un style à la bannière this.setBackground( new Color(0, 236, 96)); @@ -25,11 +27,7 @@ public class Banniere extends JPanel { this.add(new Fin("Victoire !",this.getSize())); this.repaint(); JButton menu = new JButton("Revenir au menu"); - menu.addActionListener(new ActionListener(){ - public void actionPerformed(ActionEvent e) { - new FrameMenu(); - } - }); + menu.addActionListener(new MenuListener(this.fenetre)); this.add(menu); } @@ -38,11 +36,7 @@ public class Banniere extends JPanel { this.add(new Fin("Défaite !",this.getSize())); this.repaint(); JButton menu = new JButton("Revenir au menu"); - menu.addActionListener(new ActionListener(){ - public void actionPerformed(ActionEvent e) { - new FrameMenu(); - } - }); + menu.addActionListener(new MenuListener(this.fenetre)); this.add(menu); } } \ No newline at end of file diff --git a/FrameJeu.java b/FrameJeu.java index 8997cbc..738f240 100644 --- a/FrameJeu.java +++ b/FrameJeu.java @@ -17,7 +17,7 @@ public class FrameJeu extends JFrame{ GridBagConstraints miseEnPage = new GridBagConstraints(); // Création de la grille de Jeu - Grille grille=new Grille(lignes,colonnes,mines); + Grille grille=new Grille(lignes,colonnes,mines,this); // Récupération de la bannière Banniere banniere = grille.getBanniere(); diff --git a/Grille.java b/Grille.java index 1e32832..529b9cf 100644 --- a/Grille.java +++ b/Grille.java @@ -11,28 +11,31 @@ public class Grille extends JPanel{ private int mines; private int minesLeft; private boolean enJeu; + private FrameJeu fenetre; // TODO : entourage dans une méthode // TODO : Recréer un tableau avec les cases minees // Définition du constructeur qui correspond à une grille de jeu - public Grille(int lignes, int colonnes, int mines){ - + public Grille(int lignes, int colonnes, int mines, FrameJeu fenetre){ + super(); + this.colonnes=colonnes; + this.taille=lignes*colonnes; + this.mines=mines; + this.minesLeft=mines; + this.enJeu=true; + this.fenetre=fenetre; // Découpage de l'espace en fonction des paramètres pour la mise en place de la grille Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.grilleSize = new Dimension(((screenSize.height*3/4)/lignes)*colonnes, screenSize.height*3/4 ); Dimension caseSize = new Dimension(this.grilleSize.height/lignes,this.grilleSize.height/lignes); GridLayout damier = new GridLayout(lignes,colonnes); - Banniere banniere = new Banniere(mines); + Banniere banniere = new Banniere(mines,this.fenetre); + this.banniere=banniere; banniere.setSize(grilleSize.width,grilleSize.height/8); this.setLayout(damier); this.setSize(grilleSize); - this.colonnes=colonnes; - this.taille=lignes*colonnes; - this.mines=mines; - this.minesLeft=mines; - this.banniere=banniere; - this.enJeu=true; + // On génère le plateau contenant les cases GenererPlateau(caseSize); diff --git a/MenuListener.java b/MenuListener.java new file mode 100644 index 0000000..04b2c0b --- /dev/null +++ b/MenuListener.java @@ -0,0 +1,11 @@ +import java.awt.event.*; +public class MenuListener implements ActionListener{ + private FrameJeu fenetre; + public MenuListener(FrameJeu fenetre){ + this.fenetre=fenetre; + } + public void actionPerformed(ActionEvent event){ + new FrameMenu(); + this.fenetre.dispose(); + } +} \ No newline at end of file