title: Error java.lang.String cannot be cast to metier.Motif
body: <p>I work <code>JComboBox</code>es and <code>DefaultComboboxModel</code> that I fill with my database. Now I would like to save a <code>Enregistrement</code> in my database. But I get this error message </p>
  
  <pre><code>java.lang.String cannot be cast to metier.Motif
  </code></pre>
  
  <p>This is my class Motif :</p>
  
  <pre><code>package metier;
  
  
  public class Motif  { 
  
  private Integer id;
  private String libelle;
  private Boolean recetteDepense;
  Enregistrement enregistrements[];
  
  public Motif() {
      this.id = null;
      this.libelle = "";
      this.recetteDepense = null;
  }
  
  public Motif(Integer id, String libelle, Boolean recetteDepense, Enregistrement[] enregistrements) {
      this.id = id;
      this.libelle = libelle;
      this.recetteDepense = recetteDepense;
      this.enregistrements = enregistrements;
  }
  
  public Integer getId() {
      return id;
  }
  
  public void setId(Integer id) {
      this.id = id;
  }
  
  public String getLibelle() {
      return libelle;
  }
  
  public void setLibelle(String libelle) {
      this.libelle = libelle;
  }
  
  public Boolean getRecetteDepense() {
      return recetteDepense;
  }
  
  public void setRecetteDepense(Boolean recetteDepense) {
      this.recetteDepense = recetteDepense;
  }
  
  public Enregistrement[] getEnregistrement() {
      return enregistrements;
  }
  
  public void setEnregistrement(Enregistrement[] enregistrements) {
      this.enregistrements = enregistrements;
  }
  
  @Override
  public String toString() {
      return "Motif{" + "id=" + id + ", libelle=" + libelle + ", recetteDepense=" + recetteDepense + ", enregistrements=" + enregistrements + '}';
  }
  
  
  
  }
  </code></pre>
  
  <p>And this is my function to save the <code>Enregistrement</code> :</p>
  
  <pre><code>public void enregistrerEnregistrement() throws DaoException {
      // Déclarations de variables locales
      dao = new DaoH2("gestComptes", "sa", "");
       try {
          dao.connecter();
  
          Motif motif = (Motif)(((VueAjouterEnregistrement)vue).getModeleJComboBoxMotif().getSelectedItem());            
          System.out.print(motif.getId());
  
          //dao.ajouterUnEnregistrement(id, idLibelle, idModeReglement, idCompte, idEtat, idMotif, PreLEnc, RecDep, DateEnr, montant, ancienSolde, nouveauSolde, dateFacture, numCHQ, anticipation);
      } catch (DaoException ex) {
         JOptionPane.showMessageDialog(vue, "CtrlAjouterEnregistrement - instanciation - " + ex.getMessage(), "Enregistrement", JOptionPane.ERROR_MESSAGE);
      }
  
      }
  </code></pre>
  
  <p>My <code>Combobox</code>es work but I don't know how to recover the element with my getters and setters of my object <code>Motif</code>.</p>
  
  <p>I get this error:</p>
  
  <pre><code>Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to metier.Motif
  at controleurs.CtrlAjouterEnregistrement.enregistrerEnregistrement(CtrlAjouterEnregistrement.java:235)
  at vues.VueAjouterEnregistrement.jButtonValiderActionPerformed(VueAjouterEnregistrement.java:1288)
  at vues.VueAjouterEnregistrement.access$000(VueAjouterEnregistrement.java:31)
  at vues.VueAjouterEnregistrement$1.actionPerformed(VueAjouterEnregistrement.java:187)
  at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
  at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
  at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
  at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
  at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
  at java.awt.Component.processMouseEvent(Component.java:6505)
  at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
  at java.awt.Component.processEvent(Component.java:6270)
  at java.awt.Container.processEvent(Container.java:2229)
  at java.awt.Component.dispatchEventImpl(Component.java:4861)
  at java.awt.Container.dispatchEventImpl(Container.java:2287)
  at java.awt.Component.dispatchEvent(Component.java:4687)
  at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
  at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
  at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
  at java.awt.Container.dispatchEventImpl(Container.java:2273)
  at java.awt.Window.dispatchEventImpl(Window.java:2719)
  at java.awt.Component.dispatchEvent(Component.java:4687)
  at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
  at java.awt.EventQueue.access$200(EventQueue.java:103)
  at java.awt.EventQueue$3.run(EventQueue.java:682)
  at java.awt.EventQueue$3.run(EventQueue.java:680)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
  at java.awt.EventQueue$4.run(EventQueue.java:696)
  at java.awt.EventQueue$4.run(EventQueue.java:694)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
  at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
  at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
  at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
  </code></pre>