Package gui

Source Code of gui.Ntp

package gui;

import gui.models.CurrentDateModel;
import gui.vues.MainMenuPanel;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.util.Arrays;
import java.util.Vector;
import java.util.prefs.Preferences;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.ToolTipManager;

import com.jgoodies.looks.plastic.theme.ExperienceBlue;


import metier.GestionConnection;
import misc.GU;

/**
*
* Classe graphique principale du projet. La classe contenant le point d'entrée (méthode main)
*
* @author Ait Elhaj Brahim
*
*/
public class Ntp  extends JFrame{
 
  /** La version du software */
  public final static String VERSION = "1.0";
 
  protected static Preferences pref = Preferences.userRoot();
  /** Le panel central, principal */
  private JPanel main = null;
  /* */
  private JTabbedPane tabs;
  private CurrentDateModel dateModel;
  private MainMenuPanel menuPanel;
 
  /**
   * le modèle qui permet de récupérer la date courante
   * @return Renvoie le modèle de la date courante
   */
  public CurrentDateModel getDateModel(){
    return dateModel;
  }
 
 
 
  /**
   * Crée les objets graphiques et lance l'interface principale du projet.
   *
   */
  public Ntp(){
    super("NTP");
   
    /* La date utilisée dans le projet */
    dateModel = new CurrentDateModel();
   
    //On change le skin
    GU.changeUiSkin(new ExperienceBlue(),this);
   

    Container cp = getContentPane();

    // Préférences
    ToolTipManager.sharedInstance().setEnabled(
        pref.getBoolean("tooltips", true));
    ToolTipManager.sharedInstance().setInitialDelay(1500);
    ToolTipManager.sharedInstance().setReshowDelay(1500);

    setJMenuBar(new MenuBarGUI(this));
    setMain(getDefaultView());

    // La vue par défaut (tree + icônes/détails/liste/etc.)
    getContentPane().add(getDefaultView());
    //setMain(getDefaultView());

    // La vue principale
    this.main = getDefaultView();
   
    // Un border pour toolbar (en haut), statusbar (en bas), main (central)
    cp.setLayout(new BorderLayout());
    cp.add(new ToolBarGUI(this,dateModel), BorderLayout.NORTH);
    cp.add(main, BorderLayout.CENTER);   
    cp.add(new StatusBarGUI(this), BorderLayout.SOUTH);   

    // Une taille raisonnable au départ (dans un fichier de config après
    // sans doute) Mode maximisé ?
    setSize(new Dimension(600, 550));
    GU.center(this);
   
   
    setDefaultCloseOperation(this.shutdown());
    setVisible(true);
  }
 
  /**
   * Créer et renvoie le panel principal de l'inteface du projet.
   * Ce panel contient entre autres 3 onglets :
   * <ul>
   * <li> Le premier permet de gérer le cas d'utilisation 1 : demande de réservation </li>
   * <li> Le seconde permet de gérer l'annulation de réservation </li>
   * <li> Le troisième permet de gérer la validation </li>
   * </ul>
   * @return Le panel principal découpé en onglet
   */
  private JPanel getDefaultView() {
   
    // Coupure en deux
    JPanel defaultView = new JPanel(new GridLayout(1, 2));

    // Barre de split
    //JSplitPane splitpane = new JSplitPane();
    //splitpane.setDividerLocation(200);

    // Des look 'n feels balance une NullPointerException avec ça. :D
    // ie: Tonic
    //splitpane.setOneTouchExpandable(true);
   
    this.menuPanel = new MainMenuPanel(this);
    tabs = new JTabbedPane()
   
    JScrollPane viewReservation = new JScrollPane(menuPanel.getTabOne().getContentPane());
    JScrollPane viewAnnulation = new JScrollPane(menuPanel.getTabTwo().getContentPane());
    JScrollPane viewValidation = new JScrollPane(menuPanel.getTabThree().getContentPane());
   
    //Tabluation du cas principal : Réservation
    tabs.addTab("Reservation", viewReservation);
    //Cas de validation de réservation
    tabs.add("Annulation",viewAnnulation);
    //Cas d'annulation de réservation
    tabs.add("Validation",viewValidation);   
   
    //splitpane.setTopComponent(getLeftPanel());
    //splitpane.setBottomComponent(tabs);
    defaultView.add(tabs);
    //panel.add(new MainMenuPanel(this));
    return defaultView;
  }
 
  private void setMain(JPanel main) {
    this.main = main;
    getContentPane().add(main, BorderLayout.CENTER);
    main.repaint();
    main.revalidate();
  }
 
  private int shutdown(){
    GestionConnection gc = new GestionConnection();
    gc.shutDown();
    return JFrame.EXIT_ON_CLOSE;
  }

 
 
  /**
   * Point d'entrée du projet
   *
   * @param args Les arguments de la ligne de commande
   */
  public static void main(String[]args){
    new Ntp();   
  }

}

TOP

Related Classes of gui.Ntp

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.