Package gui.util

Source Code of gui.util.TaxiGuiUtil

package gui.util;

import static gui.MotsCleProjet.APP_TITRE;

import static gui.MotsCleProjet.CMD_QUIT;
import static gui.MotsCleProjet.CMD_ADD;
import static gui.MotsCleProjet.CMD_IMPORT;
import static gui.MotsCleProjet.CMD_MOD;
import static gui.MotsCleProjet.CMD_SUP;
import static gui.MotsCleProjet.CMD_PAIE_FACT;
import static gui.MotsCleProjet.DATE_ERREUR_TEXTE;
import static gui.util.TaxiGuiUtil.MessageBox;
import gui.DateCalendar;
import gui.MainWindow;
import gui.MotsCleProjet;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;

import util.Periode;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* <p>TaxiGuiUtil : c'est une classe utilitaire.</p>
* <p> Elle est utilis�e dans d'autres classe, elle fabrique le bouton de Toolbar,
*  elle cr�e un mod�le de date, elle teste la validit� d'une date, elle cr�e la boite de Dialogue, elle cr�e le toolbar et internalFrame
* @author Kasandra
*
*/
public class TaxiGuiUtil {
  public static JMenuItem createMenuItem(String leLabel, String laCommande,
      int laCle, ActionListener actionListener) {
    JMenuItem menuItem = new JMenuItem(leLabel);
    menuItem.setMnemonic(laCle);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(laCle,
        ActionEvent.ALT_MASK));
    menuItem.setActionCommand(laCommande);
    menuItem.addActionListener(actionListener);
    return menuItem;
  }

  /**
   * retourne le bouton
   * @param altText
   * @param laCommande
   * @param aideText
   * @param actionListener
   * @return button
   */
  public static JButton FabricationButton(String altText, String laCommande,
      String aideText, ActionListener actionListener) {
    JButton button = new JButton();
    button.setToolTipText(aideText);
    button.setFont(new java.awt.Font("Garamond", 1, 14));
    button.setForeground(new java.awt.Color(66, 79, 120));
   
    if (!laCommande.equals(MotsCleProjet.CMD_NOACTION)) {
      button.setActionCommand(laCommande);
      button.addActionListener(actionListener);
    }
    button.setText(altText);
   
    return button;
  }

  /**
   * Cr�e le label date
   * @param dateFormat
   * @param dateMinimum
   * @param dateMaximum
   *
   * @return dateLabel
   */
    public static JLabel creeDateLabel(final String dateFormat, final DateCalendar.Mode mode, final Date dateMinimum, final Date dateMaximum) {
        final JLabel dateLabel = new JLabel();
        dateLabel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));
        dateLabel.setIcon(new ImageIcon(TaxiGuiUtil.class.getClassLoader().getResource("images/logoCalender.jpg")));
        dateLabel.setFont(new Font("Tahoma", 1, 12));
        dateLabel.setForeground(new java.awt.Color(66, 79, 120));

        dateLabel.addMouseListener(new MouseListener() {
            public void mouseClicked(MouseEvent e) {
                DateCalendar fen = new DateCalendar(MainWindow.cadrePrincipal(), mode);
                fen.affiche();
                if (fen.okFlag) {
                    Date date = fen.retourDate();
                    if (dateValide(date)) {
                        dateLabel.setText(new SimpleDateFormat(dateFormat).format(date));
                    } else {
                        dateLabel.setText(DATE_ERREUR_TEXTE);
                        MessageBox(MainWindow.desktop(), "DATE INVALIDE...");
                    }
                } else {
                    dateLabel.setText(DATE_ERREUR_TEXTE);
                    MessageBox(MainWindow.desktop(), "DATE INVALIDE...");
                }
            }

           
            /**
             * V�rifie la validit� d'une date
             * @param date
             *
             * @return dateValide
             */
            private boolean dateValide(Date date) {

                boolean dateValide = new Periode(dateMinimum,dateMaximum).inclue(date);
                return dateValide;
            }
            public void mouseEntered(MouseEvent e) {}
            public void mouseExited(MouseEvent e) {}
            public void mousePressed(MouseEvent e) {}
            public void mouseReleased(MouseEvent e) {}
        });
        return dateLabel;
    }

    /**
     * D�finit la boite de dialog
     *
     * @param desktop
     * @param leMess
     */
  public static void MessageBox(JDesktopPane desktop, String leMess) {
    JOptionPane.showMessageDialog(desktop, leMess, "ATTENTION ...",
        JOptionPane.ERROR_MESSAGE);
  }

  /**
   *  D�finit la boite de dialog
   * @param desktop
   * @param leMess
   * @param leTitre
   */
  public static void MessageBox(JDesktopPane desktop, String leMess,
      String leTitre) {
    JOptionPane.showMessageDialog(desktop, leMess, leTitre,
        JOptionPane.ERROR_MESSAGE);
  }
 
public static JToolBar CreationToolBarPaieFacture(ActionListener actionListener) {
   
    JToolBar toolBar = new JToolBar("Outils...");
    toolBar.setBackground(Color.BLUE);
    toolBar.add(FabricationButton("Ajouter", CMD_ADD, "Ajouter...", actionListener));
    toolBar.add(FabricationButton("Modifier", CMD_MOD, "Modifier...", actionListener));
    toolBar.add(FabricationButton("Supprimer", CMD_SUP, "Supprimer...", actionListener));
    toolBar.add(FabricationButton("Payer facture", CMD_PAIE_FACT, "Payer facture...", actionListener));

    toolBar.addSeparator();

    return toolBar;
  }

  /**
   * Cr�e le toolbar commun pour chaque fen�tre
   * @param actionListener
   * @return
   */
  public static JToolBar CreationToolBar(ActionListener actionListener) {
   
    JToolBar toolBar = new JToolBar("Outils...");
    toolBar.setBackground(Color.BLUE);
    toolBar.add(FabricationButton("Ajouter", CMD_ADD, "Ajouter...", actionListener));
    toolBar.add(FabricationButton("Modifier", CMD_MOD, "Modifier...", actionListener));
    toolBar.add(FabricationButton("Supprimer", CMD_SUP, "Supprimer...", actionListener));
    //toolBar.add(FabricationButton("Importer", CMD_IMPORT, "Importer...", actionListener));

    toolBar.addSeparator();

    return toolBar;
  }
 
public static JToolBar CreationToolBarAjoutSup(ActionListener actionListener) {
   
    JToolBar toolBar = new JToolBar("Outils...");
    toolBar.setBackground(Color.BLUE);
    toolBar.add(FabricationButton("Ajouter", CMD_ADD, "Ajouter...", actionListener));
   
    toolBar.add(FabricationButton("Supprimer", CMD_SUP, "Supprimer...", actionListener));
    //toolBar.add(FabricationButton("Importer", CMD_IMPORT, "Importer...", actionListener));

    toolBar.addSeparator();

    return toolBar;
  }
 
  /**
   * Cr�e le toolbar commun pour chaque fen�tre
   * @param actionListener
   * @return
   */
  public static JToolBar CreationToolBarSansBouton(ActionListener actionListener) {
   
    JToolBar toolBar = new JToolBar("Outils...");
    toolBar.setBackground(Color.BLUE);

    return toolBar;
  }
 
  public static JToolBar CreationToolBarSansBoutonSupression(ActionListener actionListener) {
   
    JToolBar toolBar = new JToolBar("Outils...");
    toolBar.setBackground(Color.BLUE);
    toolBar.add(FabricationButton("Ajouter", CMD_ADD, "Ajouter...", actionListener));
    toolBar.add(FabricationButton("Modifier", CMD_MOD, "Modifier...", actionListener));
    toolBar.addSeparator();

    return toolBar;
  }
 
public static JToolBar CreationToolBarImport(ActionListener actionListener) {
   
    JToolBar toolBar = new JToolBar("Outils...");
    toolBar.setBackground(Color.BLUE);
    toolBar.add(FabricationButton("Ajouter", CMD_ADD, "Ajouter...", actionListener));
    toolBar.add(FabricationButton("Modifier", CMD_MOD, "Modifier...", actionListener));
    toolBar.add(FabricationButton("Supprimer", CMD_SUP, "Supprimer...", actionListener));
    toolBar.add(FabricationButton("Importer", CMD_IMPORT, "Importer...", actionListener));

    toolBar.addSeparator();

    return toolBar;
  }

public static JToolBar creationToolBarSuppression(ActionListener actionListener) {
 
  JToolBar toolBar = new JToolBar("Outils...");
  toolBar.setBackground(Color.BLUE);
  toolBar.add(FabricationButton("Supprimer", CMD_SUP, "Supprimer...", actionListener));
  toolBar.add(FabricationButton("Quitter", CMD_QUIT, "Quitter...", actionListener));
  toolBar.addSeparator();

  return toolBar;
}
public static JToolBar creationToolBarQuitter(ActionListener actionListener) {
 
  JToolBar toolBar = new JToolBar("Outils...");
  toolBar.setBackground(Color.BLUE);
  toolBar.add(FabricationButton("Quitter", CMD_QUIT, "Quitter...", actionListener));
  toolBar.addSeparator();

  return toolBar;
}
 

public static JToolBar creationToolBarSuppressionModification(ActionListener actionListener) {
 
  JToolBar toolBar = new JToolBar("Outils...");
  toolBar.setBackground(Color.BLUE);
  toolBar.add(FabricationButton("Modifier", CMD_MOD, "Modifier...", actionListener));
  toolBar.add(FabricationButton("Supprimer", CMD_SUP, "Supprimer...", actionListener));
  toolBar.add(FabricationButton("Quitter", CMD_QUIT, "Quitter...", actionListener));
  toolBar.addSeparator();

  return toolBar;
}
 
  private static int openFrameCount = 0;
  private static final int X_OFFSET = 20, Y_OFFSET = 20;


  /**
   *  <p>Initialise la taille par d�faut de la fen�tre.</p>
   <p>Pr�pare la disposition de la fen�tre dans le bureau
   *  et par rapport aux autres fen�tres d�j� ouvertes. </p>
   *  
   * @param titreFenetre
   * @return internalFrame
   */
  public static JInternalFrame creeInternalFrame(String titreFenetre) {
    JInternalFrame internalFrame;
    internalFrame = new JInternalFrame(APP_TITRE + titreFenetre, true, // Redimentionable
        true, // Closable
        true, // Maximisable
        true);// Iconifiable
    internalFrame.setSize(1200, 660);// Initialise la taille par d�faut de
                      // la fen�tre.
    // Pr�pare la disposition de la fen�tre dans le bureau
    // et par rapport aux autres fen�tres d�j� ouvertes.
    openFrameCount = openFrameCount + 1;
    internalFrame.setLocation(X_OFFSET * openFrameCount, Y_OFFSET * openFrameCount);
    return internalFrame;
  }

  public static JLabel cr�eChampDate(final String dateTimeFormat, final IRetourneDate retourneDate, final DateCalendar.Mode dateCalendarMode) {
    final JLabel jLabel = new JLabel(DATE_ERREUR_TEXTE);
    jLabel.setIcon(new ImageIcon(TaxiGuiUtil.class.getClassLoader().getResource("images/logoCalender.jpg")));
    jLabel.addMouseListener(new MouseListener() {
      public void mouseClicked(MouseEvent e) {
        DateCalendar fen = new DateCalendar(MainWindow.cadrePrincipal(), 0, dateCalendarMode);
        fen.affiche();
        jLabel.setText(DATE_ERREUR_TEXTE);
        if (fen.okFlag) {
          Date dateTemp = fen.retourDate();
          if (dateTemp.after(new Date())) {
            MessageBox(MainWindow.desktop(), "DATE INVALIDE...");
          } else {
            if (retourneDate != null) {
              retourneDate.onDate(dateTemp);
            }
            jLabel.setText(new SimpleDateFormat(dateTimeFormat).format(dateTemp));
          }
        } else {
          MessageBox(MainWindow.desktop(), "DATE INVALIDE...");
        }
      }
      public void mouseEntered(MouseEvent e) {}
      public void mouseExited(MouseEvent e) {}
      public void mousePressed(MouseEvent e) {}
      public void mouseReleased(MouseEvent e) {}
    });
    return jLabel;
  }
}
TOP

Related Classes of gui.util.TaxiGuiUtil

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.