import javax.swing.*; import java.awt.*; import java.io.File; /** * Menu principal de l'application Démineur. * Permet au joueur de lancer une nouvelle partie, de reprendre une partie sauvegardée ou de quitter. */ public class Menu { private JFrame fenetre; private JPanel panneauMenu; private JButton boutonNouvellePartie; private JButton boutonReprendre; private JButton boutonQuitter; private GridLayout gestionnaire; /** * Constructeur du Menu. * Initialise la fenêtre, le panneau et les différents boutons. */ public Menu() { 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); fenetre.add(panneauMenu, BorderLayout.CENTER); fenetre.setVisible(true); } /** * 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. */ public JFrame getFenetre() { return fenetre; } }