1: package ste.pendu.avdyk;

  3: import java.awt.*;
  4: import java.awt.event.*;
  5: import javax.swing.*;
  6: import java.beans.PropertyChangeListener;
  7: import java.beans.PropertyVetoException;
  8: import java.io.IOException;
  9: import java.io.File;
 10: import javax.swing.filechooser.FileFilter;
 11: import ste.pendu.wordeditor.*;
 12: import ste.pendu.*;

 14: /**
 15:  *
 16:  */
 17: public class MainEditor extends JFrame
 18: {

 20:   /**
 21:    * Instanciation du {@link PenduBean} avec un mot et placement du bean
 22:    * dans la fenêtre.
 23:    * 
 24:    * @param word le mot à découvrir.
 25:    */
 26:   public MainEditor ()
 27:   {
 28:     super("WordEditor");
 29:     //Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
 30:     //setSize(d.width, d.height);
 31:     addWindowListener(new WindowAdapter() {
 32:         public void windowClosing(WindowEvent e) {System.exit(0);}
 33:         public void windowOpened(WindowEvent e) {}
 34:       });

 36:     // création du PenduBean
 37:     WordListBean wlBean = new WordListBean();
 38:     setJMenuBar (createMenu(wlBean));
 39:     Container pane = getContentPane();
 40:     pane.setLayout (new BorderLayout());
 41:     pane.add (wlBean);
 42:     pack();
 43:   }
 44:   
 45:   /**
 46:    * Point d'entrée de l'application. Seul le premier argument est pris
 47:    * en compte.
 48:    * 
 49:    * @param args seul le premier élément est pris en compte.
 50:    */
 51:   public static void main(String[] args) {
 52:     MainEditor f = new MainEditor();
 53:     f.show();
 54:   }
 55:   
 56:   /**
 57:    * Création de la barre de menu.
 58:    */
 59:   protected JMenuBar createMenu(WordListBean bean) {
 60:     JMenuBar mb = new JMenuBar();
 61:     try
 62:       {
 63:         ControlFactory cf = bean.getControlFactory();

 65:         JMenu menu = new JMenu("Fichier");
 66:         
 67:         JMenuItem ouvrir = new JMenuItem("Ouvrir");
 68:         ouvrir.addActionListener(cf.getControl(ControlFactory.CONTROL_OUVRIR));
 69:         menu.add(ouvrir);
 70:         
 71:         JMenuItem sauver = new JMenuItem("Sauver");
 72:         sauver.addActionListener(cf.getControl(ControlFactory.CONTROL_SAUVER));
 73:         menu.add(sauver);
 74:         
 75:         JMenuItem sauverComme = new JMenuItem("Sauver Comme");
 76:         sauverComme.addActionListener(cf.getControl(ControlFactory.CONTROL_SAUVER_COMME));
 77:         menu.add(sauverComme);
 78:         
 79:         JMenuItem exit = new JMenuItem("Exit");
 80:         exit.addActionListener(cf.getControl(ControlFactory.CONTROL_QUITTER));
 81:         menu.add(exit);

 83:         mb.add(menu);

 85:         JMenu menuGestion = new JMenu("Gestion");
 86:         
 87:         JMenuItem ajouter = new JMenuItem("Ajouter");
 88:         ajouter.addActionListener(cf.getControl(ControlFactory.CONTROL_AJOUTER));
 89:         menuGestion.add(ajouter);
 90:         
 91:         JMenuItem effacer = new JMenuItem("Effacer");
 92:         effacer.addActionListener(cf.getControl(ControlFactory.CONTROL_EFFACER));
 93:         menuGestion.add(effacer);
 94:         
 95:         JMenuItem supprimer = new JMenuItem("Supprimer");
 96:         supprimer.addActionListener(cf.getControl(ControlFactory.CONTROL_SUPPRIMER));
 97:         menuGestion.add(supprimer);
 98:         
 99:         mb.add(menuGestion);
100:         
101:       }
102:     catch (ControlFactoryException cfe)
103:       {
104:       }
105:     
106:     return mb;
107:   }
108:   
109: }