Package misc

Source Code of misc.GU

/*
* Cree le 13 oct. 2004
*/
package misc;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.sql.Date;
import java.util.Collection;
import java.util.Iterator;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.border.Border;

import metier.Common;
import metier.reservations.Demande;

import data.programmation.Piece;
import data.reservation.Fauteuil;
import data.reservation.Reservation;

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

import javax.swing.SwingUtilities;


/**
* Classe utilitaire ('Graphical Utilities' ho yeah) ne contenant que des
* méthodes statiques pour faciliter la gestion de divers éléments graphiques.
*
*
* @author Ait Elhaj Brahim
*/
public class GU {

  /** Taille par défaut du texte Html */
  public static int TAILLE_FONT_HTML = 2;
  /** Couleurs des informations Html */
  public static String COLOR_INFO_HTML = "green";
  /** Couleurs des titres en Html */
  public static String COLOR_TITRE_HTML = "blue";
 
  /**
   * Centre une JFrame sur l'écran.
   *
   * @param frame
   *            la JFrame à centrer
   */
  public static void center(JFrame frame) {
    Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension size = frame.getSize();

    frame.setLocation((int) (screen.width - size.width) / 2,
        (int) (screen.height - size.height) / 2);
  }

 
  /**
   * Change le Look&Feel de l'interface graphique
   *
   */
  public static void changeUiSkin(PlasticTheme theme,JFrame frame){
    PlasticLookAndFeel.setPlasticTheme(theme);//new ExperienceBlue()
    PlasticLookAndFeel.set3DEnabled(true);
    try {
      UIManager.setLookAndFeel(new PlasticLookAndFeel());
      //force chaque composant de la fenêtre à appeler sa méthode updateUI
      SwingUtilities.updateComponentTreeUI(frame);     
    } catch (Exception e) {e.printStackTrace();
   
  }

 
 
  /**
   * La dimensions utilisée pour les panels principaux.
   *
   *
   * @return Renvoie la dimension à utiliser pour les panels centraux
   */
  public static Dimension getMainDimension(){
    return new Dimension(400,200);
  }
 
  /**
   * Affiche une information.
   *
   * @param s
   *            information
   */
  public static void info(String s) {
    JOptionPane.showMessageDialog(null, s, "Information",
        JOptionPane.INFORMATION_MESSAGE);
  }
 
 


  /**
   * Affiche un avertissement.
   *
   * @param s
   *            avertissement
   */
  public static void warn(String s) {
    JOptionPane.showMessageDialog(null, s, "Avertissement",
        JOptionPane.WARNING_MESSAGE);
  }

  /**
   * Demande la saisie d'un texte.
   *
   * @param s
   *            détail sur la chose à saisir
   * @return la chose saisie
   */
  public static String input(String s) {
    return JOptionPane.showInputDialog(null, s, "Demande de saisie",
        JOptionPane.QUESTION_MESSAGE);
  }

  /**
   * Demande la confirmation d'un choix
   *
   * @param s
   *            le message pour lequel on attend confirmation ou infirmation
   * @return true s'il y a eu confirmation, false sinon
   */
  public static boolean confirm(String s) {
    return JOptionPane.showConfirmDialog(null, s, "Confirmation",
        JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION;
  }

  /**
   * Cree une bordure avec titre et l'applique à un JComponent.
   *
   * @param title
   *            titre de la bordure
   * @param c
   *            Le composant sur lequel on va fixer la bordure
   */ 
  public static Border createBorder(String title, int top, int left, int bottom, int right){
    return BorderFactory.createCompoundBorder(
                BorderFactory.createTitledBorder(title),
                BorderFactory.createEmptyBorder(top,left,bottom,right));
  }
 
 
  /**
   * Formattage des places attribuées en Html pour un affichage plus jolie.
   *
   * @param res La réservation
   * @param title Le titre du texte html à retourner
   * @return La liste des places attribuées formatées en Html
   */
  public static String formatPlacesAttribuesToHtml(Reservation res,String title){
    int taille = GU.TAILLE_FONT_HTML;
    String couleurTitre = GU.COLOR_TITRE_HTML;
    String couleurInfo = GU.COLOR_INFO_HTML;
   
    String txt = "<html><font color="+couleurTitre+" size=+"+taille+
    "> "+title+" </font><ul>";
   
    Collection fauteuils = res.getLesFauteuils();
    Iterator itFauteuils = fauteuils.iterator();
    while(itFauteuils.hasNext()){
      txt+= "<font color="+couleurInfo+"" +
      ">"+(Fauteuil)itFauteuils.next()+"</font><br>";
    }
   
    txt+="</ul></html>";
 
  return txt;
   
  }
 
 
  /**
   * Formattage de la demande de validation en Html pour un affichage plus jolie.
   *
   * @param res La réservation
   * @param title Le titre du texte html à retourner
   * @return Le résumé de la demande de réservation formaté en Html
   */
  public static String formatValidationDemandeToHtml(Reservation res,String title){   
   
    Common c = new Common();
    Date dateConfirmation = c.getDateConfirmation(res.getDateReserv());
   
   
   
   
    int taille = GU.TAILLE_FONT_HTML;
    String couleurTitre = GU.COLOR_TITRE_HTML;
    String couleurInfo = GU.COLOR_INFO_HTML;
   
    String txt = "<html><font color="+couleurTitre+" size=+"+taille+
    "> "+title+" </font><ul>"+
    "Numéro de réservation : <font color="+couleurInfo+"" +
    ">"+res.getIdReserv()+"</font><br>"+
    "Date Limite de confirmation : <font color="+couleurInfo+"" +
    ">"+Utils.formatDateToString(dateConfirmation)+"</font><br>";
   
    /*Collection fauteuils = res.getLesFauteuils();
    Iterator itFauteuils = fauteuils.iterator();
    while(itFauteuils.hasNext()){
      txt+= "<font color="+couleurInfo+"" +
      ">"+(Fauteuil)itFauteuils.next()+"</font><br>";
    }*/
   
    txt+="</ul></html>";
 
  return txt;
  }
 
 


  /**
   * Formatte les informations sur une réservation au format Html.
   *
   *
   * @param res La réservation
   * @param p La piéce associée à cette réservation
   * @param title Le titre du texte à retourner
   * @param msgSupp Le message supplémentaire à afficher dans certains cas
   * @return Le texte Html résumant la réservation
   */
  public static String formatReservationToHtml(Reservation res,Piece p,
      String title,String msgSupp){
    Demande d = new Demande();   
    String prixHtml = "";   
   
    Common c = new Common();
    Date dateConfirmation = c.getDateConfirmation(res.getDateReserv());
   
    int taille = GU.TAILLE_FONT_HTML;
    String couleurTitre = GU.COLOR_TITRE_HTML;
    String couleurInfo = GU.COLOR_INFO_HTML;
   
    //Calcul du prix si possible
    if(p!=null) {
      double prix = d.calculerPrix(res, p);
      prixHtml = "Prix : <font color="+couleurInfo+"" +
      ">"+prix+" Euros</font><br>";
    }
   
    String txt = "<html><font color="+couleurTitre+" size=+"+taille+
      "> "+title+" </font><ul>"+
      "Pièce : <font color="+couleurInfo+"" +
            ">"+d.getTitrePiece(res.getIdSeance())+"</font><br>"+
      "Séance : <font color="+couleurInfo+"" +
            ">"+res.getIdSeance()+"</font><br>"+
      "Zone : <font color="+couleurInfo+"" +
            ">"+res.getIdZone()+"</font><br>"+
      "Nombre de personnes : <font color="+couleurInfo+"" +
            ">"+res.getNbPersonnes()+"</font><br>"+
      //"Fauteuils attribués : <font color="+couleurInfo+"" +
        //    ">"+"TEXTE"+"</font><br>"+
      "Date de réservation : <font color="+couleurInfo+"" +
            ">"+Utils.formatDateToString(res.getDateReserv())+"</font><br>"+
      "Date Limite de confirmation : <font color="+couleurInfo+"" +
        ">"+Utils.formatDateToString(dateConfirmation)+"</font><br>"+
        prixHtml+
      "<br><br><font color=red size=+"+taille+">"+
      msgSupp+"</font><br>"+       
      "</ul></html>";
   
    return txt;
  }


}
TOP

Related Classes of misc.GU

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.