2026-03-28 22:03:56 +01:00
|
|
|
import javax.swing.*;
|
|
|
|
|
import java.awt.*;
|
2026-04-11 14:10:20 +02:00
|
|
|
import java.io.File;
|
2026-03-28 23:33:16 +01:00
|
|
|
|
2026-04-11 21:18:10 +02:00
|
|
|
/**
|
|
|
|
|
* Menu principal de l'application Démineur.
|
|
|
|
|
* Permet au joueur de lancer une nouvelle partie, de reprendre une partie sauvegardée ou de quitter.
|
|
|
|
|
*/
|
2026-03-28 22:03:56 +01:00
|
|
|
public class Menu {
|
|
|
|
|
|
|
|
|
|
private JFrame fenetre;
|
|
|
|
|
private JPanel panneauMenu;
|
|
|
|
|
private JButton boutonNouvellePartie;
|
|
|
|
|
private JButton boutonReprendre;
|
|
|
|
|
private JButton boutonQuitter;
|
|
|
|
|
private GridLayout gestionnaire;
|
|
|
|
|
|
2026-04-11 21:18:10 +02:00
|
|
|
/**
|
|
|
|
|
* Constructeur du Menu.
|
|
|
|
|
* Initialise la fenêtre, le panneau et les différents boutons.
|
|
|
|
|
*/
|
2026-03-28 22:03:56 +01:00
|
|
|
public Menu() {
|
2026-04-11 21:18:10 +02:00
|
|
|
fenetre = new JFrame();
|
|
|
|
|
fenetre.setSize(300,300);
|
|
|
|
|
fenetre.setLocation(100,100);
|
|
|
|
|
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
|
|
|
|
|
|
|
|
panneauMenu = new JPanel();
|
|
|
|
|
panneauMenu.setBorder(BorderFactory.createEmptyBorder(50, 50, 50, 50));
|
|
|
|
|
gestionnaire= new GridLayout(3, 1,0,20);
|
|
|
|
|
panneauMenu.setLayout(gestionnaire);
|
|
|
|
|
|
|
|
|
|
// Les boutons du Menu
|
|
|
|
|
boutonNouvellePartie = new JButton("Nouvelle partie");
|
|
|
|
|
boutonNouvellePartie.addActionListener(new NouvellePartie(this));
|
|
|
|
|
panneauMenu.add(boutonNouvellePartie);
|
|
|
|
|
|
|
|
|
|
boutonReprendre = new JButton("Reprendre");
|
|
|
|
|
File f = new File("sauvegarde.ser");
|
|
|
|
|
if (f.exists()) {
|
|
|
|
|
boutonReprendre.addActionListener(new ActionReprendre(this));
|
|
|
|
|
} else {
|
|
|
|
|
boutonReprendre.setEnabled(false);
|
|
|
|
|
}
|
|
|
|
|
panneauMenu.add(boutonReprendre);
|
|
|
|
|
|
|
|
|
|
boutonQuitter = new JButton("Quitter");
|
|
|
|
|
boutonQuitter.addActionListener(new Quitter());
|
|
|
|
|
panneauMenu.add(boutonQuitter);
|
2026-03-28 22:03:56 +01:00
|
|
|
|
2026-04-11 21:18:10 +02:00
|
|
|
fenetre.add(panneauMenu, BorderLayout.CENTER);
|
|
|
|
|
fenetre.setVisible(true);
|
2026-03-28 22:03:56 +01:00
|
|
|
}
|
2026-04-06 20:18:32 +02:00
|
|
|
|
2026-04-11 21:18:10 +02:00
|
|
|
/**
|
|
|
|
|
* Permet de récupérer la fenêtre principale du menu pour la masquer/fermer depuis une autre classe.
|
|
|
|
|
* @return Le JFrame contenant le menu.
|
|
|
|
|
*/
|
2026-04-06 20:18:32 +02:00
|
|
|
public JFrame getFenetre() { return fenetre; }
|
2026-03-28 22:03:56 +01:00
|
|
|
}
|