Erreur de casting

Bonjour,

Je code sous netbeans. J'ai 4 textfields nommés tf1, etc. et un tableau d.

Je veux après avoir cliqué sur le bouton ajouter, que ce qui est saisi dans les textfield passe dans le tableau. Pour cela j'ai fait le code suivant:

private void ajouterActionPerformed(java.awt.event.ActionEvent evt) {                                        
        
        String codeproduit, quantite, poids, prix;
               codeproduit= tf1.getText();
               quantite = tf2.getText();
               poids = tf3.getText();
               prix = tf4.getText();
            String []ligne = new String[]{codeproduit, quantite, poids, prix};
            d.addRow(ligne);
        
    }


Mais j'ai l'erreur suivante : Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: Cannot cast javax.swing.JButton to java.lang.Boolean

Merci d'avance à ceux qui pourraient m'aider.

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour,

    "Cannot cast javax.swing.JButton to java.lang.Boolean"
    Dans ton code je ne vois ni JButton, ni Boolean, ni cast...

    Regarde le message d'erreur complet, il t'indiquera sur quelle ligne de code est le problème.
    1. i-dessous le code d'erreur entier :
      Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: Cannot cast javax.swing.JButton to java.lang.Boolean
       at java.lang.Class.cast(Class.java:3369)
       at org.jdesktop.beansbinding.Binding.convertForward(Binding.java:1312)
       at org.jdesktop.beansbinding.Binding.getSourceValueForTarget(Binding.java:844)
       at org.jdesktop.beansbinding.Binding.refreshUnmanaged(Binding.java:1222)
       at org.jdesktop.beansbinding.Binding.refresh(Binding.java:1207)
       at org.jdesktop.beansbinding.AutoBinding.tryRefreshThenSave(AutoBinding.java:162)
       at org.jdesktop.beansbinding.AutoBinding.bindImpl(AutoBinding.java:199)
       at org.jdesktop.beansbinding.Binding.bindUnmanaged(Binding.java:959)
       at org.jdesktop.beansbinding.Binding.bind(Binding.java:944)
       at org.jdesktop.beansbinding.BindingGroup.bind(BindingGroup.java:143)
       at memo2.Crud_Vente.initComponents(Crud_Vente.java:497)
       at memo2.Crud_Vente.<init>(Crud_Vente.java:27)
       at memo2.Crud_Vente.lambda$main$0(Crud_Vente.java:558)
       at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
       at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
       at java.awt.EventQueue.access$500(EventQueue.java:97)
       at java.awt.EventQueue$3.run(EventQueue.java:709)
       at java.awt.EventQueue$3.run(EventQueue.java:703)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
       at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
       at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
       at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
       at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
       at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
       at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
       at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

      la ligne 497 montre ceci : bindingGroup.bind();
      1. Modérateur
        bindingGroup.bind() plante à cause du code qu'il y a avant, j'imagine que c'est là que tu as des JButton et/ou des Boolean que tu ajoutes à ton bindingGroup ou à ce qu'il contient.
    2. je n'ai aucun bouton. En fait cette ligne s'est ajoutée à mon insu; je crois quand j'ai voulu fermer le programme la nuit.

      Pour faire mes interfaces je ne code pas mais utilise les objets preconçu de netbeans