java doc et reglage probleme win/lose
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.event.WindowListener;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Écouteur lié à la croix de fermeture de la fenêtre de jeu.
|
||||
* Permet de déclencher une sauvegarde automatique avant de quitter.
|
||||
*/
|
||||
public class ActionFermerFenetre implements WindowListener {
|
||||
|
||||
private FenetreJeu jeu;
|
||||
|
||||
/**
|
||||
* Constructeur de l'écouteur de la fenêtre.
|
||||
* @param j La fenêtre de jeu.
|
||||
*/
|
||||
public ActionFermerFenetre(FenetreJeu j) {
|
||||
this.jeu = j;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode exécutée lorsque le joueur clique sur la croix de la fenêtre.
|
||||
* Sérialise la partie en cours avant de fermer.
|
||||
* @param e L'événement de la fenêtre.
|
||||
*/
|
||||
public void windowClosing(WindowEvent e) {
|
||||
if (!jeu.isPartieTerminee()) {
|
||||
try {
|
||||
FileOutputStream fichier = new FileOutputStream("sauvegarde.ser");
|
||||
ObjectOutputStream flux = new ObjectOutputStream(fichier);
|
||||
flux.writeObject(jeu.getGrille());
|
||||
flux.close();
|
||||
fichier.close();
|
||||
System.out.println("Partie sauvegardée depuis la croix");
|
||||
} catch (IOException ex) {
|
||||
System.out.println("Erreur : " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
public void windowOpened(WindowEvent e) {}
|
||||
public void windowClosed(WindowEvent e) {}
|
||||
public void windowIconified(WindowEvent e) {}
|
||||
public void windowDeiconified(WindowEvent e) {}
|
||||
public void windowActivated(WindowEvent e) {}
|
||||
public void windowDeactivated(WindowEvent e) {}
|
||||
}
|
||||
Reference in New Issue
Block a user