suite du traville avec grille et cas
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
/**
|
||||
* Fenêtre principale affichant le menu du Démineur.
|
||||
*/
|
||||
public class MenuPrincipal extends JFrame {
|
||||
|
||||
private JButton btnNouvellePartie;
|
||||
private JButton btnReprendre;
|
||||
private JButton btnQuitter;
|
||||
|
||||
/**
|
||||
* Constructeur du menu principal.
|
||||
*/
|
||||
public MenuPrincipal() {
|
||||
// Configuration de la fenêtre (héritée de JFrame)
|
||||
super("Démineur - Menu Principal");
|
||||
this.setSize(300, 250);
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
// Mise en page principale
|
||||
this.setLayout(new BorderLayout());
|
||||
|
||||
// Titre en haut
|
||||
JLabel etiquetteTitre = new JLabel("DÉMINEUR");
|
||||
etiquetteTitre.setHorizontalAlignment(JLabel.CENTER);
|
||||
this.add(etiquetteTitre, BorderLayout.NORTH);
|
||||
|
||||
// Panneau pour les boutons au centre
|
||||
JPanel panneauBoutons = new JPanel();
|
||||
panneauBoutons.setLayout(new GridLayout(3, 1)); // 3 lignes, 1 colonne
|
||||
|
||||
// Création des boutons
|
||||
this.btnNouvellePartie = new JButton("Commencer une nouvelle partie");
|
||||
this.btnReprendre = new JButton("Reprendre la partie précédente");
|
||||
this.btnQuitter = new JButton("Quitter");
|
||||
|
||||
// Désactivation du bouton "Reprendre" par défaut (comme demandé dans le sujet)
|
||||
this.btnReprendre.setEnabled(false);
|
||||
|
||||
// Ajout des boutons au panneau
|
||||
panneauBoutons.add(this.btnNouvellePartie);
|
||||
panneauBoutons.add(this.btnReprendre);
|
||||
panneauBoutons.add(this.btnQuitter);
|
||||
|
||||
// Ajout du panneau au centre de la fenêtre
|
||||
this.add(panneauBoutons, BorderLayout.CENTER);
|
||||
|
||||
// Connexion avec l'observateur (le contrôleur)
|
||||
ControleurMenu observateur = new ControleurMenu(this);
|
||||
this.btnNouvellePartie.addActionListener(observateur);
|
||||
this.btnReprendre.addActionListener(observateur);
|
||||
this.btnQuitter.addActionListener(observateur);
|
||||
}
|
||||
|
||||
// --- Accesseurs pour que l'observateur puisse identifier les boutons ---
|
||||
public JButton getBtnNouvellePartie() { return this.btnNouvellePartie; }
|
||||
public JButton getBtnReprendre() { return this.btnReprendre; }
|
||||
public JButton getBtnQuitter() { return this.btnQuitter; }
|
||||
|
||||
/**
|
||||
* Méthode principale pour lancer le programme.
|
||||
* @param args arguments de la ligne de commande (inutilisés)
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
MenuPrincipal menu = new MenuPrincipal();
|
||||
menu.setVisible(true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user