2026-04-11 14:10:20 +02:00
|
|
|
import java.awt.event.ActionEvent;
|
|
|
|
|
import java.awt.event.ActionListener;
|
|
|
|
|
import java.io.FileInputStream;
|
|
|
|
|
import java.io.ObjectInputStream;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
2026-04-11 21:18:10 +02:00
|
|
|
/**
|
|
|
|
|
* Action déclenchée depuis le menu pour recharger une partie sauvegardée.
|
|
|
|
|
* Utilise la désérialisation pour récupérer l'objet Grille depuis un fichier.
|
|
|
|
|
*/
|
2026-04-11 14:10:20 +02:00
|
|
|
public class ActionReprendre implements ActionListener {
|
|
|
|
|
private Menu menu;
|
|
|
|
|
|
2026-04-11 21:18:10 +02:00
|
|
|
/**
|
|
|
|
|
* Constructeur de l'action reprendre.
|
|
|
|
|
* @param m Le menu principal à fermer après le chargement.
|
|
|
|
|
*/
|
2026-04-11 14:10:20 +02:00
|
|
|
public ActionReprendre(Menu m) {
|
|
|
|
|
this.menu = m;
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-11 21:18:10 +02:00
|
|
|
/**
|
|
|
|
|
* Lit le fichier de sauvegarde et relance la fenêtre de jeu.
|
|
|
|
|
* @param e L'événement du clic.
|
|
|
|
|
*/
|
2026-04-11 14:10:20 +02:00
|
|
|
@Override
|
|
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
|
|
try {
|
|
|
|
|
FileInputStream fichier = new FileInputStream("sauvegarde.ser");
|
|
|
|
|
ObjectInputStream flux = new ObjectInputStream(fichier);
|
|
|
|
|
|
|
|
|
|
Grille g = (Grille) flux.readObject();
|
|
|
|
|
|
|
|
|
|
flux.close();
|
|
|
|
|
fichier.close();
|
|
|
|
|
|
|
|
|
|
new FenetreJeu(g);
|
|
|
|
|
menu.getFenetre().dispose();
|
|
|
|
|
|
|
|
|
|
} catch (IOException | ClassNotFoundException ex) {
|
|
|
|
|
System.err.println("Erreur lors du chargement : " + ex.getMessage());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|