import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class FenetreEvent implements WindowListener{
    String cheminSauvegarde;
    JFrame fenetre;
    JPanel elementColore;
    public FenetreEvent(String cheminSauvegarde, JFrame fenetre){
    	this.cheminSauvegarde = cheminSauvegarde;
    	this.fenetre = fenetre;
    }
    @Override // premier plan
    public void windowActivated(WindowEvent evenement){}
    
	@Override // apres fermeture
	 public void windowClosed(WindowEvent evenement){}
	 
	@Override // avant fermeture
	 public void windowClosing(WindowEvent evenement){
		try{
			FileOutputStream fichier = new FileOutputStream(cheminSauvegarde);
			ObjectOutputStream source = new ObjectOutputStream(fichier);
			try{
				source.writeObject(fenetre);
			}
			catch (IOException e){
				System.err.println("echec dans l'ecriture du fichier");
			}
			try{
				source.close();
			}
			catch (IOException e){
				System.err.println("echec dans la fermeture du fichier");
			}
		}
		catch (IOException e){
			System.err.println("echec dans l'ouverture du fichier");
		}
	 }
	 
	@Override // arriere-plan
	 public void windowDeactivated(WindowEvent evenement){}
	 
	@Override // restauration
	 public void windowDeiconified(WindowEvent evenement){}
	 
	@Override // minimisation
	 public void windowIconified(WindowEvent evenement){}
	 
	@Override // apres ouverture
	 public void windowOpened(WindowEvent evenement){
	    try{
			FileInputStream fichier = new FileInputStream(cheminSauvegarde);
			ObjectInputStream source = new ObjectInputStream(fichier);
			try{
			    this.fenetre = (JFrame) source.readObject();
			}
			catch(ClassNotFoundException e){
			    System.err.println("impossible de trouver la classe sauvegarder");
			}
			catch (IOException e){
				System.err.println("echec dans la lecture du fichier");
			}
			try{
				source.close();
			}
			catch (IOException e){
				System.err.println("echec dans la fermeture du fichier");
			}
		}
		catch (IOException e){
			System.err.println("echec dans l'ouverture du fichier");
		}
	}
}
