Files
SAE21_2025/ControleurMenu.java
T
lecointre 596a83a39b Fin menu
2026-04-03 16:56:08 +02:00

51 lines
1.9 KiB
Java

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class ControleurMenu implements ActionListener {
private MenuPrincipal menu;
public ControleurMenu(MenuPrincipal m) {
this.menu = m;
}
@Override
public void actionPerformed(ActionEvent evenement) {
if (evenement.getSource() == this.menu.getBtnNouvellePartie()) {
try {
String strL = JOptionPane.showInputDialog(menu, "Nombre de lignes (entre 4 et 30) :");
if (strL == null) return;
int l = Integer.parseInt(strL);
String strC = JOptionPane.showInputDialog(menu, "Nombre de colonnes (entre 4 et 30) :");
if (strC == null) return;
int c = Integer.parseInt(strC);
String strM = JOptionPane.showInputDialog(menu, "Nombre total de mines :");
if (strM == null) return;
int m = Integer.parseInt(strM);
if (l < 4 || l > 30 || c < 4 || c > 30 || m >= (l * c)) {
JOptionPane.showMessageDialog(menu, "Valeurs incorrectes ! Les dimensions doivent être entre 4 et 30, et les mines inférieures au nombre de cases.");
return;
}
Grille nouvelleGrille = new Grille(l, c, m);
FenetreJeu fenetre = new FenetreJeu(nouvelleGrille);
fenetre.setVisible(true);
this.menu.dispose();
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(menu, "Erreur : Vous devez entrer des nombres entiers !");
}
} else if (evenement.getSource() == this.menu.getBtnReprendre()) {
System.out.println("Chargement de la sauvegarde...");
} else if (evenement.getSource() == this.menu.getBtnQuitter()) {
System.exit(0);
}
}
}