99 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| import java.awt.*;
 | |
| import java.awt.event.*;
 | |
| import java.io.*;
 | |
| import java.awt.event.WindowListener;
 | |
| import java.awt.event.WindowEvent;
 | |
| import javax.swing.*;
 | |
| 
 | |
| public class FermetureFenetre implements WindowListener {
 | |
| 
 | |
| 	private int fenetreX;
 | |
| 	private int fenetreY;
 | |
| 	private JFrame fenetre;
 | |
| 
 | |
| 	public FermetureFenetre(JFrame fenetre) {
 | |
| 		super();
 | |
| 		this.fenetre = fenetre;
 | |
| 		this.fenetreX = 300;
 | |
| 		this.fenetreY = 200;
 | |
| 	}
 | |
| 
 | |
| 	public void windowActivated(WindowEvent evenement) {
 | |
| 
 | |
| 	}   // premier plan
 | |
| 
 | |
| 	public void windowClosed(WindowEvent evenement) {
 | |
| 
 | |
| 	}        
 | |
| 	public void windowClosing(WindowEvent evenement) {
 | |
| 		try {
 | |
| 			Dimension dims = this.fenetre.getSize();
 | |
| 			FileOutputStream fichier = new FileOutputStream("windowlocation.bin");
 | |
| 			DataOutputStream flux = new DataOutputStream(fichier);
 | |
| 
 | |
| 			try {
 | |
| 				flux.writeInt((int) dims.getWidth());
 | |
| 				flux.writeInt((int) dims.getHeight());
 | |
| 			} catch (IOException e2){
 | |
| 				System.out.println("Erreur d'écriture");
 | |
| 			}
 | |
| 
 | |
| 			try {
 | |
| 				flux.close();
 | |
| 			} catch (IOException e3) {
 | |
| 				System.out.println("Erreur de fermeture");
 | |
| 			}
 | |
| 		} catch (IOException e) {
 | |
| 			System.out.println("Erreur d'ouverture");
 | |
| 		}
 | |
| 	}      // avant fermeture
 | |
| 
 | |
| 	public void windowDeactivated(WindowEvent evenement) {
 | |
| 
 | |
| 	}   // arrière-plan
 | |
| 
 | |
| 	public void windowDeiconified(WindowEvent evenement) {
 | |
| 
 | |
| 	} // restauration
 | |
| 
 | |
| 	public void windowIconified(WindowEvent evenement){
 | |
| 
 | |
| 	}    // minimisation
 | |
| 
 | |
| 	public void windowOpened(WindowEvent evenement) {
 | |
| 		try {
 | |
| 			FileInputStream fichier = new FileInputStream("windowlocation.bin");
 | |
| 			DataInputStream flux = new DataInputStream(fichier);
 | |
| 
 | |
| 			try {
 | |
| 
 | |
| 				if (flux.available() >= 8) {
 | |
| 					this.fenetreX = flux.readInt();
 | |
| 					this.fenetreY = flux.readInt();
 | |
| 					this.fenetre.setSize(this.fenetreX, this.fenetreY);
 | |
| 				}
 | |
| 
 | |
| 
 | |
| 			} catch (IOException e5) {
 | |
| 				System.out.println("Erreur de lecture");
 | |
| 			}
 | |
| 
 | |
| 			try {
 | |
| 				flux.close();
 | |
| 			} catch (IOException e6) {
 | |
| 				System.out.println("Erreur de fermeture");
 | |
| 			}
 | |
| 			
 | |
| 		} catch (IOException e4) {
 | |
| 			System.out.println("Erreur d'ouverture");
 | |
| 		}
 | |
| 	} 
 | |
| 
 | |
| 	public int getX() {
 | |
| 		return this.fenetreX;
 | |
| 	}
 | |
| 
 | |
| 	public int getY() {
 | |
| 		return this.fenetreY;
 | |
| 	}
 | |
| } |