Files
SAE21_2025/Menu.java
T

61 lines
1.9 KiB
Java
Raw Normal View History

import javax.swing.*;
import java.awt.*;
import java.io.File;
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.
*/
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.
*/
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-04-11 21:18:10 +02:00
fenetre.add(panneauMenu, BorderLayout.CENTER);
fenetre.setVisible(true);
}
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.
*/
public JFrame getFenetre() { return fenetre; }
}