import java.lang.*;
import java.awt.*;
import java.awt.event.*;
/**
* La classe ApplicationFrame
implante la Frame
principale
* d'une application d'affichage d'un {@link ApplicationCanvas ApplicationCanvas}
* munie d'un {@link Afficheur Afficheur}.
*
* @author Nicolas Janey
* @author nicolas.janey@univ-fcomte.fr
* @version 1.0, 12/01/06
*/
public class ApplicationFrame extends Frame
implements WindowListener,
ActionListener {
/**
* {@link ApplicationCanvas ApplicationCanvas} affiche dans la Frame
.
*/
private ApplicationCanvas ac;
/**
* Barre de menus de la Frame
.
*/
private MenuBar mb = new MenuBar();
/**
* Menu de la barre de menus de la Frame
.
*/
private Menu m1 = new Menu("Fichier");
/**
* Item de menu du menu de la barre de menus de la Frame
.
*/
private MenuItem mq = new MenuItem("Quitter");
/**
* Constructeur pour une ApplicationFrame
* munie d'un {@link Afficheur Afficheur}.
*
* @param afficheur l'objet {@link Afficheur Afficheur} d'initialisation.
*
*/
public ApplicationFrame(String s,Afficheur afficheur) {
super();
ac = new ApplicationCanvas(afficheur);
setTitle(s);
addWindowListener(this);
setMenuBar(mb);
mb.add(m1);
m1.add(mq);
mq.addActionListener(this);
add(ac);
}
/**
* "Termine" le programme.
*
*
*/
public void quitter() {
System.exit(0);
}
/**
* Retourne le {@link ApplicationCanvas ApplicationCanvas} associe a this.
*
* @return le {@link ApplicationCanvas ApplicationCanvas} associe a this.
*
*/
public ApplicationCanvas getCanvas() {
return(ac);
}
public void actionPerformed(ActionEvent e) {
if ( e.getSource() == mq ) {
quitter(); }
}
public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
quitter();
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
}