import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; /** * Affiche une fenêtre du logiciel. * @author V.BOULANGER */ public class AppThinkerWindow extends JFrame { private Project _project; private AppThinkerMenuBar _menu; private AppThinkerToolbar _toolbar; private AppThinkerGrid _grid; private AppThinkerStatusbar _statusbar; /** * Constructeur de la classe AppThinkerWindow */ public AppThinkerWindow(){ //Paramétrage de la fenêtre this.setTitle("AppThinker"); this.setExtendedState(JFrame.MAXIMIZED_BOTH); Image img = null; try { img = ImageIO.read(AppThinker.class.getResource("img/logoAppThinker.png")); } catch (Exception ex) { } this.setIconImage(img); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocationRelativeTo(null); //Ajout du menu à la fenêtre _menu = new AppThinkerMenuBar(this); this.setJMenuBar(_menu); //Ajout de la toolbar à la fenêtre _toolbar = new AppThinkerToolbar(this); this.add(_toolbar, BorderLayout.NORTH); //Ajout de la grille à la fenêtre _grid = new AppThinkerGrid(); this.add(_grid, BorderLayout.CENTER); //Ajout de la statusbar à la fenêtre _statusbar = new AppThinkerStatusbar(); this.add(_statusbar, BorderLayout.SOUTH); this.pack(); } /** * Crée un nouveau Projet. */ public void newProject(){ this._project = new Project(); this.setTitle("AppThinker | " + _project.getName()); this._menu.enableEditing(); this._toolbar.enableEditing(); this._statusbar.setStatusMessage("Le projet a été créé."); this._statusbar.setFileMessage(this._project.getName()); } /** * Ouvre un projet existant dans la fenêtre. */ public void openProject(){ } /** * Ferme le projet en cours. */ public void closeProject(){ this._project = null; this.setTitle("AppThinker"); this._menu.disableEditing(); this._toolbar.disableEditing(); this._statusbar.setStatusMessage("Le projet a été fermé."); this._statusbar.setFileMessage("Aucun projet ouvert"); } /** * Convertit le projet actuel en chaîne XML. */ public void convertToXml(){ } /** * Sauvegarde le projet en cours. */ public void saveProject(){ } /** * Sauvegarde le projet en cours à un autre emplacement. */ public void saveAsProject(){ } /** * Récupère la toolbar contenue dans la fenêtre. * @return La toolbar contenue dans la fenêtre. */ public AppThinkerToolbar getToolbar(){ return this._toolbar; } /** * Récupère la grille contenue dans la fenêtre. * @return La grille contenue dans la fenêtre. */ public AppThinkerGrid getGrid(){ return this._grid; } /** * Récupère la statusbar contenue dans la fenêtre. * @return La statusbar contenue dans la fenêtre. */ public AppThinkerStatusbar getStatusbar(){ return this._statusbar; } }