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) { } }