import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.FileInputStream; import java.io.ObjectInputStream; import java.io.IOException; /** * 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. */ public class ActionReprendre implements ActionListener { private Menu menu; /** * Constructeur de l'action reprendre. * @param m Le menu principal à fermer après le chargement. */ public ActionReprendre(Menu m) { this.menu = m; } /** * Lit le fichier de sauvegarde et relance la fenêtre de jeu. * @param e L'événement du clic. */ @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()); } } }