Package gui.chauffeur.gestionchauffeur

Source Code of gui.chauffeur.gestionchauffeur.ChauffeurEditionFenetre

package gui.chauffeur.gestionchauffeur;

import static gui.MotsCleProjet.*;
import static gui.util.TaxiGuiUtil.FabricationButton;
import static gui.util.TaxiGuiUtil.MessageBox;
import gui.DateCalendar;
import gui.JTextControlKey;
import gui.MainWindow;
import gui.MotsCleProjet;
import gui.commun.etat.EtatAffichable;
import gui.commun.localite.LocaliteAffichableCommune;
import gui.commun.localite.LocaliteAffichableCp;
import gui.commun.ville.VilleAffichable;
import gui.util.ErreurDeValidation;
import gui.util.TaxiGuiUtil;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

import javax.swing.*;

import modele.chauffeur.Chauffeur;
import modele.chauffeur.Localite;
import modele.chauffeur.Ville;
import modele.commun.Etat;
import dao.GestionnaireDeStockage;
import dao.IDao;


/**
* class ChauffeurEditionFenetre
* Cr�e l'interface graphique qui permet d'ins�rer ou de modifier un enregistrement
* @author Kasandra
*
*/
class ChauffeurEditionFenetre implements ActionListener {

  private JDialog aDialog;// R�f�rence � la boite de dialogue.
  private Date current = new Date(new GregorianCalendar().getTime().getTime());

  private ImageIcon ani;

  private JTextControlKey textNom;
  private JTextControlKey textPrenom;
  // private JTextControlKey textRue;
  private JTextArea textRue;
  private JTextControlKey textNumeroRue;


  private JTextField textAge;
  private JTextControlKey textNumNat;


  private JTextControlKey textTelephone;
  private JTextControlKey textGsm;
  private JTextControlKey textEmail;

  private JTextControlKey textNumCpteChauf;

  private JTextControlKey textPermis;
  private JLabel textDateValidite;
  private JTextField textDureePermis, textEtatPermis;

  private JTextControlKey textCertifBVM;//


  private JLabel titres, labNom, labPNom, labRue, labNrRue, labCp,
          labLoca, labVille, labDtn, labAge, labNrNat, labEtCiv,
          labSx, labNbpersonne, labTel, labGsm, labMail, labNumCpteChauf,
          labDureePermis, textDateVisitMed;

  private JLabel textDtNais, labTypePermis, labDatePermis, textDatePermis,
          labDateValidite, labDateVisitMed, labCertifBVM;

  private JLabel permis;

  private JComboBox cmbCp;
  private JComboBox cmbLoca;
  private JComboBox cmbVille;
  private JComboBox cmbEtats;


  private JComboBox cmbEtCiv;
  private JComboBox cmbSexe;
  private JComboBox cmbNbPersonne;

  private JPanel titre;

  private Chauffeur chauffeur = new Chauffeur();

  private static Font titreFont = new Font("Tahoma", 1, 12);

  protected boolean okFlag;

  public boolean OK_Button() {
    return okFlag;
  }

  /**
   * Constructeur
   */
  public ChauffeurEditionFenetre() {
    aDialog = new JDialog(MainWindow.cadrePrincipal(), "  Chauffeur...", true);

    textNom = new JTextControlKey("", 30, IsNumString);
    textPrenom = new JTextControlKey("", 30, IsNumString);
    textRue = new JTextArea(30, 6);
    textRue.setFont(titreFont);
    textRue.setForeground(new java.awt.Color(66, 79, 120));
    textNumeroRue = new JTextControlKey("", 11, IsNumString);

    cmbCp = new JComboBox(getListeLocaliteCp());
    cmbLoca = new JComboBox(getListeLocaliteCommune());


    cmbVille = new JComboBox(getListeVille());

    ani = new ImageIcon(getClass().getClassLoader().getResource("images/logoCalender.jpg"));
    textDtNais = new JLabel();
    textDtNais.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));
    textDtNais.setIcon(ani);
    textDtNais.setFont(titreFont);
    textDtNais.setForeground(new java.awt.Color(66, 79, 120));
    textDtNais.addMouseListener(new MouseListener() {
      public void mouseClicked(MouseEvent e) {
        DateCalendar fen = new DateCalendar(MainWindow.cadrePrincipal(), DateCalendar.Mode.DATE_SEULEMENT);
        fen.affiche();

        if (fen.okFlag) {
          Date dateNaissance = fen.retourDate();
          textDtNais.setText(new SimpleDateFormat(MotsCleProjet.DATE_FORMAT).format(dateNaissance));
         
        } else {
          textDtNais.setText(DATE_ERREUR_TEXTE);
          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) {}
    });

    getAge();

    textNumNat = new JTextControlKey("", 30, IsNumString);

    cmbSexe = new JComboBox();
    cmbSexe.setFont(titreFont);
    cmbSexe.setForeground(new java.awt.Color(66, 79, 120));
    cmbSexe.addItem("Feminin");
    cmbSexe.addItem("Masculin");

    cmbEtCiv = new JComboBox();
    cmbEtCiv.setFont(titreFont);
    cmbEtCiv.setForeground(new java.awt.Color(66, 79, 120));
    cmbEtCiv.addItem("C�libataire");
    cmbEtCiv.addItem("Mari�(e)");
    cmbEtCiv.addItem("Divorc�(e)");
    cmbEtCiv.addItem("Veuf(ve)");

    cmbNbPersonne = new JComboBox();
    cmbNbPersonne.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));
    cmbNbPersonne.setFont(titreFont);
    cmbNbPersonne.setForeground(new java.awt.Color(66, 79, 120));
    cmbNbPersonne.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));
 
    for (int i = 0; i <= 20; i++) {
      cmbNbPersonne.addItem(i);
    }
    cmbNbPersonne.addActionListener(this);

    textTelephone = new JTextControlKey("", 13, IsNumString);
    textGsm = new JTextControlKey("", 14, IsNumString);
    textEmail = new JTextControlKey("", 60, IsNumString);

    textNumCpteChauf = new JTextControlKey("", 30, IsNumString);

    getPermis();
    getDatePermis();
    getDateValiditePermis();
    getDureePermis();
    getEtatPermis();
    getVisiteMedicale();
    textCertifBVM = new JTextControlKey("", 10, IsNumString);

    cmbEtats = new JComboBox(getListeEtats());
      okFlag = false;
  }

  /**
   *
   * @return
   */
  private JLabel getVisiteMedicale() {

    if (textDateVisitMed == null) {
      ani = new ImageIcon("src/gestaxis/logoCalender.jpg");
      textDateVisitMed = new JLabel();
      textDateVisitMed.setIcon(ani);

      textDateVisitMed.setFont(titreFont);
      textDateVisitMed.setForeground(new java.awt.Color(66, 79, 120));
      textDateVisitMed.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

      textDateVisitMed.addMouseListener(new MouseListener() {
        public void mouseClicked(MouseEvent e) {
          DateCalendar fen = new DateCalendar(MainWindow.cadrePrincipal(), DateCalendar.Mode.DATE_SEULEMENT);
          fen.affiche();

          if (fen.okFlag) {
            Date strDate = fen.retourDate();
            textDateVisitMed.setText(new SimpleDateFormat(MotsCleProjet.DATE_FORMAT).format(strDate));

          } else {
            textDateVisitMed.setText(DATE_ERREUR_TEXTE);
            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 textDateVisitMed;
  }

  /**
   *
   * @return JTextField textPermis
   */
  private JTextField getPermis() {
    if (permis == null) {
      textPermis = new JTextControlKey("", 10, IsString);
      textPermis.ChampsTxt.setFont(titreFont);
      textPermis.ChampsTxt.setForeground(new java.awt.Color(66, 79, 120));
      textPermis.ChampsTxt.setPreferredSize(new java.awt.Dimension(70, 20));

    }
    return textPermis.ChampsTxt;
  }

  /**
   *
   *
   * @return JLabel Date obtention permis
   */
  private JLabel getDatePermis() {

    if (textDatePermis == null) {
      ani = new ImageIcon(getClass().getClassLoader().getResource("images/logoCalender.jpg"));
      textDatePermis = new JLabel();
      textDatePermis.setIcon(ani);

      textDatePermis.setFont(titreFont);
      textDatePermis.setForeground(new java.awt.Color(66, 79, 120));
      textDatePermis.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

      textDatePermis.addMouseListener(new MouseListener() {
        public void mouseClicked(MouseEvent e) {
          DateCalendar fen = new DateCalendar(MainWindow.cadrePrincipal(), DateCalendar.Mode.DATE_SEULEMENT);
          fen.affiche();

          if (fen.okFlag) {
            Date strDate = fen.retourDate();
            textDatePermis.setText(new SimpleDateFormat(DATE_FORMAT).format(strDate));
           
          }
          else {
            textDatePermis.setText(DATE_ERREUR_TEXTE);
            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 textDatePermis;

  }

  /**
   *
   * @return JLabel date �ch�ance permis
   */
  private JLabel getDateValiditePermis() {

    if (textDateValidite == null) {
      ani = new ImageIcon(getClass().getClassLoader().getResource("images/logoCalender.jpg"));
      textDateValidite = new JLabel();
      textDateValidite.setIcon(ani);

      textDateValidite.setFont(titreFont);
      textDateValidite.setForeground(new java.awt.Color(66, 79, 120));
      textDateValidite.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

      textDateValidite.addMouseListener(new MouseListener() {
        public void mouseClicked(MouseEvent e) {
          DateCalendar fen = new DateCalendar(MainWindow.cadrePrincipal(), DateCalendar.Mode.DATE_SEULEMENT);
          fen.affiche();

          if (fen.okFlag) {
            Date strDate = fen.retourDate();
            textDateValidite.setText(new SimpleDateFormat(DATE_FORMAT).format(strDate));

          }
          else {
            textDateValidite.setText(DATE_ERREUR_TEXTE);
            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 textDateValidite;
  }

  /**
   *
   * @return JTextField textAge
   */
  private JTextField getAge() {
   
    if (textAge == null) {
      textAge = new JTextField();
      textAge.setFont(titreFont);
      textAge.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

      textAge.addMouseListener(new MouseListener() {
        public void mouseClicked(MouseEvent e) {

          int nb = 0;
          Date dtNais;
          try {
            dtNais = transformeStringToDate(renvoiDtNais());

            nb = calculeDate(dtNais, current);

            textAge.setText("" + nb);
          } catch (ParseException e1) {
            throw new RuntimeException(e1);
          }

        }
        public void mouseEntered(MouseEvent e) {}
        public void mouseExited(MouseEvent e) {}
        public void mousePressed(MouseEvent e) {}
        public void mouseReleased(MouseEvent e) {}
      });
      textAge.setPreferredSize(new java.awt.Dimension(70, 20));
      textAge.setEditable(false);
    }
    return textAge;
  }

  /**
   *
   * @return date de naissance
   */
  public String renvoiDtNais() {
    return textDtNais.getText();
  }

  /**
   *
   * @return  dur�e de permis
   */
  private JTextField getDureePermis() {
    if (textDureePermis == null) {
      textDureePermis = new JTextField();
      textDureePermis.setFont(titreFont);
      textDureePermis.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

      textDureePermis.addMouseListener(new MouseListener() {
        public void mouseClicked(MouseEvent e) {

          int nb = 0;
          Date dtPermis;
          try {
            dtPermis = transformeStringToDate(renvoiDatePermis());

            nb = calculeDate(dtPermis, current);

            textDureePermis.setText("" + nb);
          } catch (ParseException e1) {
            throw new RuntimeException(e1);
          }

        }
        public void mouseEntered(MouseEvent e) {}
        public void mouseExited(MouseEvent e) {}
        public void mousePressed(MouseEvent e) {}
        public void mouseReleased(MouseEvent e) {}
      });
      textDureePermis.setPreferredSize(new java.awt.Dimension(70, 20));
      textDureePermis.setEditable(false);
    }

    return textDureePermis;
  }

  /**  
   * @return  date obtention permis
   */
  public String renvoiDatePermis() {
    return textDatePermis.getText();
  }

  /**
   *
   * @return  dur�e de permis 
   */
  private JTextField getEtatPermis() {
    if (textEtatPermis == null) {
      textEtatPermis = new JTextField();
      textEtatPermis.setFont(titreFont);
      textEtatPermis.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

      textEtatPermis.addMouseListener(new MouseListener() {
        public void mouseClicked(MouseEvent e) {

          int nb = 0;

          try {
            nb = Integer.parseInt(renvoiDureePermis());
            if (nb > 4) {
              textEtatPermis.setText("valide");
              textEtatPermis.setForeground(Color.GREEN);
            } else {
              textEtatPermis.setText("Pas Valide");
              textEtatPermis.setForeground(Color.red);
            }
          } catch (Exception e1) {
            e1.printStackTrace();
          }

        }
        public void mouseEntered(MouseEvent e) {}
        public void mouseExited(MouseEvent e) {}
        public void mousePressed(MouseEvent e) {}
        public void mouseReleased(MouseEvent e) {}
      });
      cmbEtats = new JComboBox(getListeEtats());     
    }
    return textEtatPermis;
  }

  /**
   *
   * @return dur�e permis
   */
  String renvoiDureePermis() {
    return textDureePermis.getText();
  }

  /**
   *
   * @param dateACalculerE
   * @param dateJour
   * @return date calcul�e
   */
  public int calculeDate(Date dateACalculerE, Date dateJour) {
    Calendar dtAcalcluler = new GregorianCalendar();
    Calendar cToday = new GregorianCalendar();
    dtAcalcluler.setTime(dateACalculerE);
    cToday.setTime(dateJour);

    int yearDiff = cToday.get(Calendar.YEAR) - dtAcalcluler.get(Calendar.YEAR);
    dtAcalcluler.set(Calendar.YEAR, cToday.get(Calendar.YEAR));

    if (dtAcalcluler.before(cToday)) {
      return yearDiff;
    } else {
      return Math.max(0, yearDiff - 1);
    }
  }

  /**
   * Change String en Date
   * @param sDate
   * @return date
   * @throws Exception
   */
  public Date transformeStringToDate(String sDate) throws ParseException {
    SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
    return sdf.parse(sDate);
  }


  /**
   * initialise les donn�es compte utilisateur
   * @param pays
   */
  void initializeDonnee(Chauffeur chauffeur) {
    this.chauffeur = chauffeur;
    textNom.ChampsTxt.setText(chauffeur.getNom());
    textPrenom.ChampsTxt.setText(chauffeur.getPrenom());
    textRue.setText(chauffeur.getRue());
    textNumeroRue.ChampsTxt.setText(chauffeur.getNumRue());
    selectionneCP(chauffeur.getCp());
    selectionneCommune(chauffeur.getLocalite());
    selectionneVille(chauffeur.getLocalite().getVille());

    textDtNais.setText(new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).format(chauffeur.getDtNais()));
    textNumNat.ChampsTxt.setText(chauffeur.getNumNat()+"");

    cmbSexe.setSelectedItem(chauffeur.getSexe());
    cmbEtCiv.setSelectedItem(chauffeur.getEtCiv());
    cmbNbPersonne.setSelectedItem(chauffeur.getNbPers());

    textTelephone.ChampsTxt.setText(chauffeur.getTel());
    textGsm.ChampsTxt.setText(chauffeur.getGsm());
    textEmail.ChampsTxt.setText(chauffeur.getMail());
    textNumCpteChauf.ChampsTxt.setText(chauffeur.getNumCpte());

    textPermis.ChampsTxt.setText(chauffeur.getTypePermis());
    textDatePermis.setText(new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).format(chauffeur.getDatePermis()));
    textDateValidite.setText(new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).format(chauffeur.getDateEcheaPermis()));
   
    textEtatPermis.setText(chauffeur.getEtat());
    //selectionneEtat(chauffeur.getEtat());
    textDateVisitMed.setText(new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).format(chauffeur.getDtVisitMed()));

    textCertifBVM.ChampsTxt.setText(chauffeur.getCertifBVM());
  }

  /**
   * Selectionne Etat
   * @param etat
   */
  /*
  private void selectionneEtat(Etat etat) {
    int nbEtats = cmbEtats.getItemCount();
    for (int i = 0; i<nbEtats; i++) {
      if (((EtatAffichable)cmbEtats.getItemAt(i)).getEtat().equals(etat)) {
        cmbEtats.setSelectedIndex(i);
        break;
      }
    }
  }
    */

  /**
   * Selectionne code postal
   * @param localite
   */
  private void selectionneCP(int cp) {
    int nbCp = cmbCp.getItemCount();
    for (int i = 0; i<nbCp; i++) {
      if (((LocaliteAffichableCp)cmbCp.getItemAt(i)).getLocalite().getCp() == cp) {
        cmbCp.setSelectedIndex(i);
        break;
      }
    }
  }

  /**
   * Selectionne localit�
   * @param localite
   */
  private void selectionneCommune(Localite localite) {

    int nbLocalite = cmbLoca.getItemCount();
    for (int i = 0; i<nbLocalite; i++) {
      if (((LocaliteAffichableCommune)cmbLoca.getItemAt(i)).getLocalite().getCommune().equals(localite.getCommune())) {
        cmbLoca.setSelectedIndex(i);
        break;
      }
    }
  }

  /**
   * Selectionne ville
   * @param ville
   */
  private void selectionneVille(Ville ville) {
    int nbVille = cmbVille.getItemCount();
    for (int i = 0; i<nbVille; i++) {
      if (((VilleAffichable)cmbVille.getItemAt(i)).getVille().equals(ville)) {
        cmbVille.setSelectedIndex(i);
        break;
      }
    }
  }

  /**
   *
   * @return chauffeur
   */
  Chauffeur renvoiChauffeur() {
    return chauffeur;
  }



 

  /**
   * cr�e panel nom
   *
   * @return JPanel nom 
   */
  private JPanel NomPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labNom = new JLabel("     Nom : *");
    labNom.setFont(titreFont);
    labNom.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labNom);
    parameterPane.add(textNom.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel prenom
   * @return JPanel pr�nom
   */

  private JPanel PrenomPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labPNom = new JLabel("     Pr�nom : *");
    labPNom.setFont(titreFont);
    labPNom.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labPNom);

    parameterPane.add(textPrenom.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel rue
   * @return JPanel rue
   */
  private JPanel RuePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 40));

    labRue = new JLabel("     Rue : *");
    labRue.setFont(titreFont);
    labRue.setForeground(new java.awt.Color(66, 79, 120));

    parameterPane.add(labRue);

    textRue.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));
    parameterPane.add(textRue);

    return parameterPane;
  }

  /**
   * Cr�e panel num�ro rue
   * @return JPanel num rue
   */

  private JPanel NumeroRuePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labNrRue = new JLabel("     Num�ro Rue : *");
    labNrRue.setFont(titreFont);
    labNrRue.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labNrRue);

    parameterPane.add(textNumeroRue.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel code postal
   * @return JPanel CP
   */

  private JPanel CodePostalPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labCp = new JLabel("     Code Postal : *");
    labCp.setFont(titreFont);
    labCp.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labCp);
    parameterPane.add(cmbCp);

    return parameterPane;
  }

  /**
   * Cr�e panel locali� 
   * @return JPanel localit�
   */
  private JPanel localitePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labLoca = new JLabel("     Localit� : *");
    labLoca.setFont(titreFont);
    labLoca.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labLoca);
    parameterPane.add(cmbLoca);

    return parameterPane;
  }

  /**
   * Cr�e panel ville
   * @return JPanel ville
   */

  private JPanel villePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labVille = new JLabel("     Ville : *");
    labVille.setFont(titreFont);
    labVille.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labVille);
    parameterPane.add(cmbVille);

    return parameterPane;
  }


  /**
   * Cr�e Panel date de naissance
   * @return JPanel date de naissance
   */
  private JPanel DtNaisPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labDtn = new JLabel("     Date de naissance : *");
    labDtn.setFont(titreFont);
    labDtn.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labDtn);
    parameterPane.add(textDtNais);

    return parameterPane;

  }

  /**
   * Cr�e panel �ge
   *
   * @return JPanel �ge
   */
  private JPanel agePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labAge = new JLabel("     Age :");
    labAge.setFont(titreFont);
    labAge.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labAge);
    parameterPane.add(getAge());
   
    return parameterPane;
  }

  /**
   * Cr�e panel num�ro national
   *
   * @return JPanel num natiuonal
   */

  private JPanel NumNatPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));
    labNrNat = new JLabel("     Num�ro national : *");
    labNrNat.setFont(titreFont);
    labNrNat.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labNrNat);
    parameterPane.add(textNumNat.ChampsTxt);

    return parameterPane;
  }

  /**
   * C(�e panel Etat civil
   *
   * @return JPanel Etat civil
   */
  private JPanel EtatCivilPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labEtCiv = new JLabel("     Etat civil : *");
    labEtCiv.setFont(titreFont);
    labEtCiv.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labEtCiv);
    parameterPane.add(cmbEtCiv);

    return parameterPane;
  }

  /**
   * Cr�e panel sexe
   *
   * @return JPanel sexe
   */
  private JPanel SexePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labSx = new JLabel("     Sexe : *");
    labSx.setFont(titreFont);
    labSx.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labSx);
    parameterPane.add(cmbSexe);

    return parameterPane;
  }

  /**
   * Cr�e  panel nombre pers � charge
   * @return JPanel nombre personne
   */
  private JPanel NbPersChargePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labNbpersonne = new JLabel("     Nombre personne � charge : *");
    labNbpersonne.setFont(titreFont);
    labNbpersonne.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labNbpersonne);

    parameterPane.add(cmbNbPersonne);

    return parameterPane;
  }

  /**
   * Cr�e panel t�l�phone
   * @return JPanel t�l�phone fixe
   */
  private JPanel TelephonePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labTel = new JLabel("     T�l�phone :");
    labTel.setFont(titreFont);
    labTel.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labTel);
    parameterPane.add(textTelephone.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel gsm
   *
   * @return JPanel gsm
   */
  private JPanel GsmPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labGsm = new JLabel("     Gsm : *");
    labGsm.setFont(titreFont);
    labGsm.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labGsm);

    parameterPane.add(textGsm.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel mail
   * @return JPanel e-mail
   */
  private JPanel EmailPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labMail = new JLabel("     E-mail :");
    labMail.setFont(titreFont);
    labMail.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labMail);
    parameterPane.add(textEmail.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e Panel num�ro de compte
   * @return JPanel num compte
   */
  private JPanel NumeroCptePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labNumCpteChauf = new JLabel("     Num�ro compte : *");
    labNumCpteChauf.setFont(titreFont);
    labNumCpteChauf.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labNumCpteChauf);

    parameterPane.add(textNumCpteChauf.ChampsTxt);

    return parameterPane;
  }


  /**
   * Cr�e panel permis
   * @return JPanel permis
   */
  private JPanel getPannePermisPane() {

    JPanel parameterPane = new JPanel(false);
    parameterPane.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
   
    parameterPane.add(permisPane(), null);
    parameterPane.add(datePermisPane(), null);
    parameterPane.add(dateValiditePermisPane(), null);

    return parameterPane;
  }
 
  /***
   *
   * @return JPanel nord
   */
  private JPanel panelNord() {

    JPanel parameterPane = new JPanel();

    parameterPane.setPreferredSize(new Dimension(550, 400));
   
    //parameterPane.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

    parameterPane.add(NomPane());
    parameterPane.add(PrenomPane());

    parameterPane.add(RuePane());
    parameterPane.add(NumeroRuePane());
    parameterPane.add(CodePostalPane());
    parameterPane.add(localitePane());
    parameterPane.add(villePane());

    return parameterPane;

  }

  /**
   * Cr�e panel Est
   * @return JPanel Est
   */
  private JPanel paneEastPane() {

    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

    //parameterPane.setBackground(Color.WHITE);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249));

    parameterPane.setPreferredSize(new Dimension(550, 400));

    parameterPane.add(DtNaisPane());
    parameterPane.add(agePane());
    parameterPane.add(NumNatPane());
    parameterPane.add(SexePane());
    parameterPane.add(EtatCivilPane());
    parameterPane.add(NbPersChargePane());

    parameterPane.add(TelephonePane());
    parameterPane.add(GsmPane());
    parameterPane.add(EmailPane());

    parameterPane.add(NumeroCptePane());

    return parameterPane;
  }

  /**
   * Cr�e panel sud
   * @return JPanel sud
   */
  private JPanel paneSudPane() {

    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));

    //parameterPane.setBackground(Color.WHITE);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249));

    parameterPane.setPreferredSize(new Dimension(1100, 170));
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249));

    parameterPane.add(permisPane());
    parameterPane.add(datePermisPane());
    parameterPane.add(dateValiditePermisPane());
    parameterPane.add(etatPermisPane());
    parameterPane.add(DureePermisPane());
    parameterPane.add(dateVisiteMedicalePane());
    parameterPane.add(certificatBVMPane());

    // parameterPane.add(TotHrTravChaufPane());
    //parameterPane.add(TotRecetteChaufPane());

    return parameterPane;
  }


  /**
   * Panel dur�e permis
   * @return JPanel dur�e permis
   */
  private JPanel DureePermisPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labDureePermis = new JLabel("     Dur�e permis :");
    labDureePermis.setFont(titreFont);
    labDureePermis.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labDureePermis);
    parameterPane.add(getDureePermis());

    return parameterPane;
  }

  /**
   * Cr�e panel date visite m�dicale
   * @return JPanel date visite m�dicale
   */
  private JPanel dateVisiteMedicalePane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labDateVisitMed = new JLabel("     Date visite m�dicale: *");
    labDateVisitMed.setFont(titreFont);
    labDateVisitMed.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labDateVisitMed);

    parameterPane.add(getVisiteMedicale());

    return parameterPane;
  }

  /**
   * Cr�e panel etat permis
   *
   * @return JPanel �tat permis
   */
  private JPanel etatPermisPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labTypePermis = new JLabel("     Etat Permis: *");
    labTypePermis.setFont(titreFont);
    labTypePermis.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labTypePermis);
    parameterPane.add(getEtatPermis());

    return parameterPane;
  }

  /**
   * Cr�e panel certificat bonne vie et moeurs
   * @return JPanel cetificat bonne vie et moeurs
   */
  private JPanel certificatBVMPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labCertifBVM = new JLabel("     Certificat BVM: *");
    labCertifBVM.setFont(titreFont);
    labCertifBVM.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labCertifBVM);

    parameterPane.add(textCertifBVM.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel type permis
   * @return JPanel  type permis
   */
  private JPanel permisPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    permis = new JLabel("     Type permis : *");
    permis.setFont(titreFont);
    permis.setForeground(new java.awt.Color(66, 79, 120));

    parameterPane.add(permis);
    parameterPane.add(getPermis());

    return parameterPane;
  }
 
  /**
   * Cr�e panel datebtention permis
   * @return JPanel date obtention permis
   */
 
  private JPanel datePermisPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labDatePermis = new JLabel("     Date obtention permis: *");
    labDatePermis.setFont(titreFont);
    labDatePermis.setForeground(new java.awt.Color(66, 79, 120));

    parameterPane.add(labDatePermis);
    parameterPane.add(getDatePermis());

    return parameterPane;
  }

  /**
   * Cr�e panel Date �ch�ance permis
   * @return JPanel date �ch�ance permis
   */
  private JPanel dateValiditePermisPane() {
    JPanel parameterPane = new JPanel(false);
    //parameterPane.setBackground(new java.awt.Color(170, 207, 249)); 
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(400, 25));

    labDateValidite = new JLabel("     Date �ch�ance permis: *");
    labDateValidite.setFont(titreFont);
    labDateValidite.setForeground(new java.awt.Color(66, 79, 120));

    parameterPane.add(labDateValidite);
    parameterPane.add(getDateValiditePermis());

    return parameterPane;
  }



 
  /**
   *
   * @return  titre du formulaire
   *
   */
  private JPanel getTitre() {
    if (titre == null) {
      GridBagConstraints gridBagTitre = new GridBagConstraints();
      gridBagTitre.gridx = 0;
      gridBagTitre.gridy = 0;
      titres = new JLabel();
      titres.setText("  Fiche Chauffeur");
      titres.setFont(new java.awt.Font("Comic Sans MS", 1, 20));
      titres.setForeground(new Color(255, 255, 255));
      titre = new JPanel();
      titre.setLayout(new GridBagLayout());
      titre.setPreferredSize(new Dimension(50, 45));
      titre.setBackground(new Color(66, 79, 120));
      titre.add(titres, gridBagTitre);
    }

    return titre;
  }

  /**
   * D�finit la fen�tre et ses composants
   */
  public void affiche() {

      JToolBar toolBar = new JToolBar("Outils...");

      JPanel parameterPane = new JPanel(false);
      //parameterPane.setBackground(new Color(170, 207, 249));

      parameterPane.setLayout(new FlowLayout());
      parameterPane.setPreferredSize(new Dimension(1200, 600));
      parameterPane.setBorder(BorderFactory.createTitledBorder(" "));
      parameterPane.add(panelNord(), BorderLayout.CENTER);
      parameterPane.add(paneEastPane(), BorderLayout.EAST);
      parameterPane.add(paneSudPane(), BorderLayout.SOUTH);
     
      aDialog.getContentPane().add(getTitre(), BorderLayout.NORTH);
      aDialog.getContentPane().add(parameterPane, BorderLayout.CENTER);
      aDialog.getContentPane().add(toolBar, BorderLayout.PAGE_END);

      toolBar.setBackground(new Color(66, 79, 120));
      toolBar.add(FabricationButton("OK", CMD_OK, "OK...", this));
      toolBar.add(FabricationButton("ANNULER", CMD_CANCEL, "Annuler...", this));

      Point p = MainWindow.cadrePrincipal().getLocation();
      aDialog.setLocation((p.x + 50), (p.y + 50));

      aDialog.pack();
      aDialog.setVisible(true);

  }

  /**
   * Gestionnaire des �v�nements
   */
  public void actionPerformed(ActionEvent e) {
   
    try {
      // Restaure la couleur de fonds par d�faut.
      for (JComponent composant : Arrays.<JComponent>asList(
          textNom.ChampsTxt, textPrenom.ChampsTxt, textRue, textNumeroRue.ChampsTxt,
          textDtNais, textAge, textNumNat.ChampsTxt,textGsm.ChampsTxt, textNumCpteChauf.ChampsTxt,
          textPermis.ChampsTxt, textDatePermis, textDateValidite, textDureePermis, textDateValidite,
          textEtatPermis, textDateVisitMed, textCertifBVM.ChampsTxt )) {
        composant.setBackground(Color.WHITE);
        composant.setToolTipText("");
      }
    String cmd = e.getActionCommand();

    if (CMD_OK.equals(cmd)) {     
     
      Vector<ErreurDeValidation> erreursDeValidation = new Vector<ErreurDeValidation>();

      if (textNom.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textNom.ChampsTxt, "le champ 'nom de chauffeur' est obligatoire."));
      }
     
      if (textPrenom.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textPrenom.ChampsTxt, "le champ 'pr�nom de chauffeur' est obligatoire."));
      }
     
      if (textRue.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textRue, "le champ 'rue' est obligatoire."));
      }
     
      if (textNumeroRue.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textNumeroRue.ChampsTxt, "le champ ' num�ro rue' est obligatoire."));
      }
     
      Date dateNais;
      try {
        dateNais = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDtNais.getText());
        chauffeur.setDtNais(dateNais);
      } catch (ParseException e1) {
        //TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
        erreursDeValidation.add(new ErreurDeValidation(textDtNais, "Le format de date est invalide : attendu"+ gui.MotsCleProjet.DATE_FORMAT));
      }
     
     
       
       
      if (textAge.getText().trim().equals("") ) {
        erreursDeValidation.add(new ErreurDeValidation(textAge, "L'age est obligatoire"));
      }
      else{
        Integer age =Integer.parseInt(textAge.getText())
        if(age < 21){
          erreursDeValidation.add(new ErreurDeValidation(textAge, "l'�ge ne peut �tre enregistr� car il a moins de 21 ans"));
        }
      }
      try {
        Integer.parseInt(textAge.getText());
      } catch (NumberFormatException ee) {
        erreursDeValidation.add(new ErreurDeValidation(textAge, "L'�ge n'est pas un nombre"));
      }
     
      String numNational =textNumNat.ChampsTxt.getText();
      if (!numNational.matches("[0-9]{1,11}")) {
        erreursDeValidation.add(new ErreurDeValidation(textNumNat.ChampsTxt, "Le num�ro national doit �tre compl�tement num�rique et doit comprendre de 1 � 11 chiffres"));
      }
     
      if (textGsm.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textGsm.ChampsTxt, "le champ 'gsm' est obligatoire."));
      }
     
      if (textNumCpteChauf.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textNumCpteChauf.ChampsTxt, "le champ 'gsm' est obligatoire."));
      }
           
     
      if (textPermis.ChampsTxt.getText().trim().equals("") ) {
        erreursDeValidation.add(new ErreurDeValidation(textPermis.ChampsTxt, "le champ 'type permis ' est obligatoire."));
      }
      else if (!(textPermis.ChampsTxt.getText().equals("b") )) {
        erreursDeValidation.add(new ErreurDeValidation(textPermis.ChampsTxt, "le chauffeur doit disposer de permis  'b' pour pouvoir �tre enregistr�."));
      }
     
      Date datePermis = null;
      try {
        datePermis = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDatePermis.getText());
        chauffeur.setDatePermis(datePermis);
      } catch (ParseException e1) {
        //TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
        erreursDeValidation.add(new ErreurDeValidation(textDatePermis, "Le format de date est invalide : attendu"+ gui.MotsCleProjet.DATE_FORMAT));
       
      }

      Date dateEchea=null;
      try {
        dateEchea = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDateValidite.getText());
        chauffeur.setDateEcheaPermis(dateEchea);
        if(dateEchea.before(datePermis)){
          erreursDeValidation.add(new ErreurDeValidation(textPermis.ChampsTxt, " la date d'�ch�ance de permis ne peut �tre inf�rieur � la date de permis."));
         
        }
       
      } catch (ParseException e1) {
        //TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
        erreursDeValidation.add(new ErreurDeValidation(textDatePermis, "Le format de date est invalide : attendu"+ gui.MotsCleProjet.DATE_FORMAT));
       
      }
   
      if (textDureePermis.getText().trim().equals("") ) {
        erreursDeValidation.add(new ErreurDeValidation(textDureePermis, "Dur�e est obligatoire"));
      }
      else{
        Integer dureePermis =Integer.parseInt(textDureePermis.getText())
        if(dureePermis < 5){
          erreursDeValidation.add(new ErreurDeValidation(textDureePermis, "la dur�e de permis est inf�rieur � 5 ans"));
        }
      }
      try {
        Integer.parseInt(textDureePermis.getText());
      } catch (NumberFormatException ee) {
        erreursDeValidation.add(new ErreurDeValidation(textDureePermis, "Dur�e parmis n'est pas un nombre"));
      }
     
     
     
           
     
      if (!(textEtatPermis.getText().equals("valide") )) {
        erreursDeValidation.add(new ErreurDeValidation(textEtatPermis, "le chauffeur doit disposer de permis  'valide' pour pouvoir �tre enregistr�."));
      }
     
      Date dateVisitMed;
      try {
        dateVisitMed = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDateVisitMed.getText());
        chauffeur.setDtVisitMed(dateVisitMed);
      } catch (ParseException e1) {
        //TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
        erreursDeValidation.add(new ErreurDeValidation(textDateVisitMed, "Le format de date est invalide : attendu"+ gui.MotsCleProjet.DATE_FORMAT));
       
      }
     
      if (textCertifBVM.ChampsTxt.getText().trim().equals("") ) {
        erreursDeValidation.add(new ErreurDeValidation(textCertifBVM.ChampsTxt, "le champ 'certificat bonne vie et moeurs' est obligatoire."));
      }else
        if (!(textCertifBVM.ChampsTxt.getText().equals("vierge") )) {
          erreursDeValidation.add(new ErreurDeValidation(textCertifBVM.ChampsTxt, "le chauffeur n'a pas un certificat de bonne vie et moeurs 'vierge' pour pouvoir �tre enregistr�."));
        }
     
     
       
       
     
      if (!erreursDeValidation.isEmpty()) {
        StringBuffer erreurAffichee = new StringBuffer();
        for (ErreurDeValidation erreurDeValidation : erreursDeValidation) {
          erreurAffichee.append(erreurDeValidation.getMessageErreur());
          erreurAffichee.append("\n");
          erreurDeValidation.getComposant().setBackground(Color.RED);
          erreurDeValidation.getComposant().setToolTipText(erreurDeValidation.getMessageErreur());
        }
        TaxiGuiUtil.MessageBox(MainWindow.desktop(), erreurAffichee.toString(), "ERREUR");       
        return;
     
      else
       
           
        initialiseChauffeur();
        okFlag = true;
        aDialog.setVisible(false);
        }
     
    }else if (CMD_CANCEL.equals(cmd)) {
      okFlag = false;
      aDialog.setVisible(false);
    }
  }catch(Exception ex) {
      ex.printStackTrace();
      TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Erreur syst�me : " + ex.getMessage(), "Erreur syst�me");
  }
}

 
  private void initialiseChauffeur() {
    chauffeur.setNom(textNom.ChampsTxt.getText());
    chauffeur.setPrenom(textPrenom.ChampsTxt.getText());
    chauffeur.setRue(textRue.getText());
    chauffeur.setNumRue(textNumeroRue.ChampsTxt.getText());
    chauffeur.setLocalite(getCpSelectionne());
    chauffeur.setLocalite(getLocaliteSelectionne());
    chauffeur.setVille(getVilleSelectionne());

    /*
    Date dateNais;
    try {
      dateNais = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDtNais.getText());
      chauffeur.setDtNais(dateNais);
    } catch (ParseException e1) {
      TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
    }
    */
    chauffeur.setNumNat(textNumNat.ChampsTxt.getText());

    chauffeur.setSexe(cmbSexe.getSelectedItem().toString());
    chauffeur.setEtCiv(cmbEtCiv.getSelectedItem().toString());
    chauffeur.setNbPers(cmbNbPersonne.getSelectedItem().toString());

    chauffeur.setTel(textTelephone.ChampsTxt.getText());
    chauffeur.setGsm(textGsm.ChampsTxt.getText());
    chauffeur.setMail(textEmail.ChampsTxt.getText());
    chauffeur.setNumCpte(textNumCpteChauf.ChampsTxt.getText());

    chauffeur.setTypePermis(textPermis.ChampsTxt.getText());

    /*
    Date datePermis;
    try {
      datePermis = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDatePermis.getText());
      chauffeur.setDatePermis(datePermis);
    } catch (ParseException e1) {
      TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
    }

    Date dateEchea;
    try {
      dateEchea = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDateValidite.getText());
      chauffeur.setDateEcheaPermis(dateEchea);
    } catch (ParseException e1) {
      TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
    }

    */
    chauffeur.setEtat(textEtatPermis.getText());
    /*
    Date dateVisitMed;
    try {
      dateVisitMed = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDateVisitMed.getText());
      chauffeur.setDtVisitMed(dateVisitMed);
    } catch (ParseException e1) {
      TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
    }
    */
    chauffeur.setCertifBVM(textCertifBVM.ChampsTxt.getText());
  }

  /**
   * Renvoie Etat selectionn�
   * @return
   */
  private Etat getEtatSelectionne() {
    return ((EtatAffichable)cmbEtats.getSelectedItem()).getEtat();
  }

  /**
   *
   * @return CP s�lectionn�
   */
  private Localite getCpSelectionne(){
    return ((LocaliteAffichableCp)cmbCp.getSelectedItem()).getLocalite();
  }

  /**
   *
   * @return commune s�lectionn�e
   */
  private Localite getLocaliteSelectionne(){
    return ((LocaliteAffichableCommune)cmbLoca.getSelectedItem()).getLocalite();
  }

  /**
   *
   * @return ville s�lectionn�e
   */
  private Ville getVilleSelectionne(){
    return ((VilleAffichable)cmbVille.getSelectedItem()).getVille();
  }

  /**
   *
   * @return Vector<EtatAffichable>
   */
  private Vector<EtatAffichable> getListeEtats() {
    Vector<EtatAffichable> etatsAffichables = new Vector<EtatAffichable>();
    ArrayList<Etat> etats = getEtatDao().findAll();
    for (Etat etat : etats) {
      etatsAffichables.add(new EtatAffichable(etat));
    }
    return etatsAffichables;
  }

  /**
   *
   * @return IDao<Etat> Etat
   */
  private IDao<Etat> getEtatDao() {
    try {
      return GestionnaireDeStockage.getInstance().getEtatDao();
    } catch (ClassNotFoundException e) {
      throw new RuntimeException(e);
    } catch (InstantiationException e) {
      throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }

  /**
   *
   * @return LocaliteAffichableCp
   */
  private Vector<LocaliteAffichableCp> getListeLocaliteCp() {
    Vector<LocaliteAffichableCp> localiteAffichables = new Vector<LocaliteAffichableCp>();
    ArrayList<Localite> elocalite = getLocaliteDao().findAll();
    for (Localite localite : elocalite) {
      localiteAffichables.add(new LocaliteAffichableCp(localite));
    }
    return localiteAffichables;
  }

  private Vector<LocaliteAffichableCommune> getListeLocaliteCommune() {
    Vector<LocaliteAffichableCommune> localiteAffichableCom = new Vector<LocaliteAffichableCommune>();
    ArrayList<Localite> elocalite = getLocaliteDao().findAll();
    for (Localite localite : elocalite) {
      localiteAffichableCom.add(new LocaliteAffichableCommune(localite));
    }
    return localiteAffichableCom;
  }

  /**
   *
   * @return IDao<Localite> Localit�
   */
  private IDao<Localite> getLocaliteDao() {
    try {
      return GestionnaireDeStockage.getInstance().getLocaliteDao();
    } catch (ClassNotFoundException e) {
      throw new RuntimeException(e);
    } catch (InstantiationException e) {
      throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }

  /**
   *
   * @return
   */
  private Vector<VilleAffichable> getListeVille() {
    Vector<VilleAffichable> villeAffichables = new Vector<VilleAffichable>();
    ArrayList<Ville> eville = getVilleDao().findAll();
    for (Ville ville : eville) {
      villeAffichables.add(new VilleAffichable(ville));
    }
    return villeAffichables;
  }

  /**
   *
   * @return IDao<Ville> IDao<Ville>  Ville
   */
  private IDao<Ville> getVilleDao() {
    try {
      return GestionnaireDeStockage.getInstance().getVilleDao();
    } catch (ClassNotFoundException e) {
      throw new RuntimeException(e);
    } catch (InstantiationException e) {
      throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }
}
TOP

Related Classes of gui.chauffeur.gestionchauffeur.ChauffeurEditionFenetre

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.