private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
    // Bouton "Enregistrer"
    if (voitureCourante == null) {
      JOptionPane.showMessageDialog(this, "Erreur...", "Erreur", JOptionPane.ERROR_MESSAGE);
    } else {
      voitureCourante.setListP(lesPTemp);

      String nomPrenomPilote = jTextField3.getText();
      if (!nomPrenomPilote.equals("")) {
        String nomPilote = nomPrenomPilote.substring(0, nomPrenomPilote.lastIndexOf(" "));
        String prenomPilote =
            nomPrenomPilote.substring(
                nomPrenomPilote.lastIndexOf(" ") + 1, nomPrenomPilote.length());
        Pilote p = controleur.getPiloteVoiture(voitureCourante, nomPilote, prenomPilote);

        if (jTextField4.getText().equals("")
            && jTextField1.getText().equals("")
            && jTextField2.getText().equals("")) {
          JOptionPane.showMessageDialog(
              this, "Veuillez remplir tous les champs.", "Erreur", JOptionPane.ERROR_MESSAGE);
        } else {
          voitureCourante.setCouleur(jTextField1.getText());
          voitureCourante.setNbToursParRelai(Integer.parseInt(jTextField2.getText()));
          voitureCourante.setVoitureActive(jCheckBox1.isSelected());
          voitureCourante.setPiloteActuel(p);
          controleur.modifierVoitureExistante(voitureCourante);
          controleur.retour();
        }
      } else {
        JOptionPane.showMessageDialog(
            this, "Veuillez choisir un pilote actuel.", "Erreur", JOptionPane.ERROR_MESSAGE);
      }
    }
  }
  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // Bouton "Modifier Pilote"
    int i = jList1.getSelectedIndex();

    if (jList1.isSelectionEmpty()) {
      JOptionPane.showMessageDialog(
          this, "Veuillez sélectionner un pilote.", "Erreur", JOptionPane.ERROR_MESSAGE);
    } else {
      String nomPrenomPilote = (String) jList1.getSelectedValue();
      String nomPilote = nomPrenomPilote.substring(0, nomPrenomPilote.lastIndexOf(" "));
      String prenomPilote =
          nomPrenomPilote.substring(nomPrenomPilote.lastIndexOf(" ") + 1, nomPrenomPilote.length());
      Pilote p = controleur.getPiloteVoiture(voitureCourante, nomPilote, prenomPilote);
      controleur.ouvrirModifierPilote(voitureCourante, p);
    }
  }
  /** Méthode permettant de charger les champs et la liste de la fenetre */
  public void charger() {

    if (voitureCourante != null) {

      int numV = voitureCourante.getNumVoiture();
      jTextField4.setText(Integer.toString(numV));
      jTextField1.repaint();

      String couleur = voitureCourante.getCouleur();
      jTextField1.setText(couleur);
      jTextField1.repaint();

      int NbToursRelai = voitureCourante.getNbToursParRelai();
      jTextField2.setText(Integer.toString(NbToursRelai));
      jTextField2.repaint();

      List<Pilote> lesP = new ArrayList<Pilote>();

      if (voitureCourante.existListP()) {
        lesP = voitureCourante.getListP();

        remplir(lesP);
        if (lesP.size() != 0) {
          model = new DefaultListModel<String>();
          for (Pilote p : lesP) {
            model.addElement(p.getNom() + " " + p.getPrenom());
          }
          jList1.setModel(model);
          jList1.setSelectedIndex(0);
          jList1.repaint();
        }
      } else {
        model = new DefaultListModel<String>();
        jList1.setModel(model);
        jList1.setSelectedIndex(0);
        jList1.repaint();
      }

      Pilote p = voitureCourante.getPiloteActuel();
      if (p != null) {
        Pilote p1 = controleur.getPiloteVoiture(voitureCourante, p.getNom(), p.getPrenom());
        if (p1 != null) {
          jTextField3.setText(p.getNom() + " " + p.getPrenom());
          jTextField3.repaint();
        } else {
          voitureCourante.setPiloteActuel(null);
          jTextField3.setText("");
          jTextField3.repaint();
        }
      }

      Boolean voitureActive = voitureCourante.getVoitureActive();
      jCheckBox1.setSelected(voitureActive);
      jCheckBox1.repaint();
    }
  }
 private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
   // Bouton "Ajouter/Enlever Pilote"
   if (voitureCourante == null) {
     JOptionPane.showMessageDialog(
         this,
         "Vous devez enregistrer la voiture avant d'ajouter des pilotes.",
         "Erreur",
         JOptionPane.ERROR_MESSAGE);
   } else {
     controleur.ouvrirAjouterEnleverPilote(voitureCourante);
   }
 }
 @Override
 public void clicNoeud(Fenetre fenetre, Adresse adresse, Plan plan, ListeDeCmd listeCmd) {
   if (adresse.estAssocierAvecLivraison()) {
     if (fenetre.confirmerSuppression()) {
       CmdSupprimer cmd = new CmdSupprimer(adresse.getLivraison(), plan.getTournee());
       listeCmd.ajoute(cmd);
       cmd.doCmd();
       // TODO message de confirmation?
     }
     Controleur.setEtatCourant(Controleur.etatTournee);
     fenetre.ecrireLog(Constants.LOGS_DEFAULT);
   } else {
     fenetre.signalerErreur(Constants.ERR_PAS_ADRESSE_LIVRAISON);
   }
 }
 private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
   // Bouton "Annuler"
   vider();
   controleur.retour();
 }
 @Override
 public void clicDroit(Fenetre fenetre) {
   Controleur.setEtatCourant(Controleur.etatTournee);
   fenetre.ecrireLog(Constants.LOGS_DEFAULT);
 }