Files
DEV/DEV2.1/TP11/02_Memoire/FermetureFenetre.java
2025-03-19 10:18:41 +01:00

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;
}
}