Versions du programme affichant une Frame

publicité
Versions du programme affichant une Frame
V 0.0 : Fenêtre infermable.
V 1.0 : Le listener est implanté dans une classe publique top-level.
V 1.1 : Le listener est implanté au moyen d’une classe membre.
V 2.1 : Un adapter implante toutes les méthodes du WindowListener avec du code vide ; le
listener est implanté par une classe dérivée de l’adapter en redéfinissant les
méthodes qui sont employées effectivement.
V 3.1 : Le listener est implanté par une classe dérivée de l’adapter fourni par la bibliothèque
en redéfinissant les méthodes qui sont employées effectivement.
De plus :
La version V3.1-Trace illustre comment on peut inclure au cours de la mise au point une
trace des événements qui se produisent lors de l’exécution d’une application interactive.
/**
* Fenêtre infermable
*
* @author Peter DAEHNE - HEG-Genève
* @version Version 0.02
*/
import java.awt.*;
public class Fenetre0 {
private static Frame frm;
/* Création de la fenêtre et affichage de celle-ci */
private static void creerFenetre () {
frm = new Frame("Fenêtre (infermable) - V0.0"); /* Initialement invisible */
frm.setSize(500, 400); /* Fixe la dimension de la Frame */
frm.setVisible(true); /* Rend la Frame visible */
} // creerFenetre
private static void traitements () {}
public static void main (String[] args) {
creerFenetre();
traitements();
} // main
} // Fenetre0
/**
* Fenêtre
* - Le listener chargé de gérer l'événement de fermeture est
*
une classe publique (ou package)
*
* @author Peter DAEHNE - HEG-Genève
* @version Version 1.02
*/
import java.awt.*;
public class Fenetre10 {
private static Frame frm;
/* Création de la fenêtre et affichage de celle-ci */
private static void creerFenetre () {
frm = new Frame("Fenêtre - V1.0"); /* Initialement invisible */
frm.addWindowListener(new MyWindowListener()); /* Inscription du listener */
frm.setSize(500, 400); /* Fixe la dimension de la Frame */
frm.setVisible(true); /* Rend la Frame visible */
} // creerFenetre
private static void traitements () {}
public static void main (String[] args) {
creerFenetre();
traitements();
} // main
} // Fenetre10
/**
* Listener chargé de gérer l'événement de fermeture d'une fenêtre
* - Lorsque la fenêtre est fermée, l'application se termine.
*
* @author Peter DAEHNE - HEG-Genève
* @version Version 1.01
*/
import java.awt.*;
import java.awt.event.*;
public class MyWindowListener implements WindowListener {
public
public
public
public
public
public
public
void
void
void
void
void
void
void
windowActivated (WindowEvent e) {}
windowClosed (WindowEvent e) {System.exit(0);}
windowClosing (WindowEvent e) {((Frame)e.getSource()).dispose();}
windowDeactivated (WindowEvent e) {}
windowDeiconified (WindowEvent e) {}
windowIconified (WindowEvent e) {}
windowOpened (WindowEvent e) {}
} // MyWindowListener
/**
* Fenêtre
* - Le listener chargé de gérer l'événement de fermeture est
*
une classe membre
*
* @author Peter DAEHNE - HEG-Genève
* @version Version 1.12
*/
import java.awt.*;
import java.awt.event.*;
/**
* Adaptateur de WindowListener
* - Permet de déclarer des extensions utilisables comme listeners. Les
*
extensions devront seulement redéfinir les méthodes qui les intéressent.
*
* @author Peter DAEHNE - HEG-Genève
* @version Version 2.0
*/
import java.awt.event.*;
public class MyWindowAdapter implements WindowListener {
public class Fenetre11 {
/* Listener chargé de gérer l'événement de fermeture d'une fenêtre
- Lorsque la fenêtre est fermée, l'application se termine. */
private static class MyWindowListener implements WindowListener {
public void windowActivated (WindowEvent e) {}
public void windowClosed (WindowEvent e) {System.exit(0);}
public void windowClosing (WindowEvent e) {((Frame)e.getSource()).dispose();}
public void windowDeactivated (WindowEvent e) {}
public void windowDeiconified (WindowEvent e) {}
public void windowIconified (WindowEvent e) {}
public void windowOpened (WindowEvent e) {}
} // MyWindowListener
private static Frame frm;
/* Création de la fenêtre et affichage de celle-ci */
private static void creerFenetre () {
frm = new Frame("Fenêtre - V1.1"); /* Initialement invisible */
frm.addWindowListener(new MyWindowListener()); /* Inscription du listener */
frm.setSize(500, 400); /* Fixe la dimension de la Frame */
frm.setVisible(true); /* Rend la Frame visible */
} // creerFenetre
public
public
public
public
public
public
public
void
void
void
void
void
void
void
windowActivated (WindowEvent e) {}
windowClosed (WindowEvent e) {}
windowClosing (WindowEvent e) {}
windowDeactivated (WindowEvent e) {}
windowDeiconified (WindowEvent e) {}
windowIconified (WindowEvent e) {}
windowOpened (WindowEvent e) {}
} // MyWindowAdapter
/**
* Fenêtre
* - Le listener chargé de gérer l'événement de fermeture est
*
une classe membre dérivée de l'adapter
*
* @author Peter DAEHNE - HEG-Genève
* @version Version 2.12
*/
import java.awt.*;
import java.awt.event.*;
private static void traitements () {}
public class Fenetre21 {
public static void main (String[] args) {
creerFenetre();
traitements();
} // main
} // Fenetre11
/* Listener chargé de gérer l'événement de fermeture d'une fenêtre
- Lorsque la fenêtre est fermée, l'application se termine. */
private static class MyWindowListener extends MyWindowAdapter {
public void windowClosed (WindowEvent e) {System.exit(0);}
public void windowClosing (WindowEvent e) {((Frame)e.getSource()).dispose();}
} // MyWindowListener
private static Frame frm;
/* Création de la fenêtre et affichage de celle-ci */
private static void creerFenetre () {
frm = new Frame("Fenêtre - V2.1"); /* Initialement invisible */
frm.addWindowListener(new MyWindowListener()); /* Inscription du listener */
frm.setSize(500, 400); /* Fixe la dimension de la Frame */
frm.setVisible(true); /* Rend la Frame visible */
} // creerFenetre
private static void traitements () {}
public static void main (String[] args) {
creerFenetre();
traitements();
} // main
} // Fenetre21
/**
* Fenêtre
* - Le listener chargé de gérer l'événement de fermeture est
*
une classe membre dérivée de l'adapter de la bibliothèque.
*
* @author Peter DAEHNE - HEG-Genève
* @version Version 3.12
*/
import java.awt.*;
import java.awt.event.*;
/**
* Fenêtre
* - Le listener chargé de gérer l'événement de fermeture est
*
une classe membre dérivée de l'adapter de la bibliothèque.
* - Les différents événements sont tracés.
*
* @author Peter DAEHNE - HEG-Genève
* @version Version 3.12 (Trace)
*/
import java.awt.*;
import java.awt.event.*;
public class Fenetre31 {
public class Fenetre31Trace {
/* Listener chargé de gérer l'événement de fermeture d'une fenêtre
- Lorsque la fenêtre est fermée, l'application se termine. */
private static class MyWindowListener extends WindowAdapter {
public void windowClosed (WindowEvent e) {System.exit(0);}
public void windowClosing (WindowEvent e) {((Frame)e.getSource()).dispose();}
} // MyWindowListener
private static Frame frm;
/* Création de la fenêtre et affichage de celle-ci */
private static void creerFenetre () {
frm = new Frame("Fenêtre - V3.1"); /* Initialement invisible */
frm.addWindowListener(new MyWindowListener()); /* Inscription du listener */
frm.setSize(500, 400); /* Fixe la dimension de la Frame */
frm.setVisible(true); /* Rend la Frame visible */
} // creerFenetre
/* Listener chargé du traçage des événements. */
private static class TraceListener implements WindowListener {
public void windowActivated (WindowEvent e) {System.out.println("windowActivated()");}
public void windowClosed (WindowEvent e) {System.out.println("windowClosed()");}
public void windowClosing (WindowEvent e) {System.out.println("windowClosing()");}
public void windowDeactivated (WindowEvent e) {System.out.println("windowDeactivated()");}
public void windowDeiconified (WindowEvent e) {System.out.println("windowDeiconified()");}
public void windowIconified (WindowEvent e) {System.out.println("windowIconified()");}
public void windowOpened (WindowEvent e) {System.out.println("windowOpened()");}
} // TraceListener
/* Listener chargé de gérer l'événement de fermeture d'une fenêtre
- Lorsque la fenêtre est fermée, l'application se termine. */
private static class MyWindowListener extends WindowAdapter {
public void windowClosed (WindowEvent e) {System.exit(0);}
public void windowClosing (WindowEvent e) {((Frame)e.getSource()).dispose();}
} // MyWindowListener
private static Frame frm;
private static void traitements () {}
public static void main (String[] args) {
creerFenetre();
traitements();
} // main
} // Fenetre31
/* Création de la fenêtre et affichage de celle-ci */
private static void creerFenetre () {
frm = new Frame("Fenêtre - V3.1 - Trace"); /* Initialement invisible */
frm.addWindowListener(new TraceListener()); /* Inscription du listener de traçage */
frm.addWindowListener(new MyWindowListener()); /* Inscription du listener de gestion de la fenêtre */
frm.setSize(500, 400); /* Fixe la dimension de la Frame */
frm.setVisible(true); /* Rend la Frame visible */
} // creerFenetre
private static void traitements () {}
public static void main (String[] args) {
creerFenetre();
traitements();
} // main
} // Fenetre31Trace
Téléchargement