Bonjour,

J'explique le contexte, dans mon application j'ai des clients qui possèdent des contrats avec une entreprise de service.(chaque client possède un ou plusieurs contrats)
Je possède donc une classe avec ses attributs dont un attribut d'instance ArrayList de type Contrat qui doit regrouper tous les contrats d'une instance client (j'ai aussi une classe contrat avec des attributs)

Jusque là ok, j'ai fait une combobox où j'ai l'affichage de tous mes clients (stockés dans une arraylist) je veux lorsque je sélectionne un client afficher ces contrats avec l'arraylist contrat via une jtable

Le problème c'est que ça me fait une erreur d'exception voici mes codes

Code de mon initialisation de ma liste client en dur d'un seul client (test) et ajout de sa liste contrat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 
public static ArrayList<Client> initClient() {
         try {
             Client client1 = new Client("AFPA","42", "rue Maréchal Foch", 
                     "54200", "Pompey", "0383231223", "afpa@gmail.com", "RAS", 1000, 20);
 
 
listClient.add(client1);
 
Contrat contrat1 = new Contrat(1,"EDF",1545.23,LocalDate.parse("2007-12-03")
                 ,LocalDate.parse("2009-12-03")); 
client1.getListeContrats().add(contrat1);
 
}
catch(MetierException ex){
        JOptionPane.showMessageDialog(null,"Erreur sur l'initialisation de la liste",
                "Erreur",JOptionPane.ERROR_MESSAGE);
        System.exit(0);
 
         } catch (Exception ex) {
             ex.printStackTrace();
             System.exit(0);
 
 return listClient;
   }
code de L'affichage de la jtable

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
public FrameTable(ArrayList<Contrat> listcontrat,String choix) {
        initComponents();
 
       //Utilisation d'un modèle par défaut pour notre JTable
        DefaultTableModel model = new DefaultTableModel();
 
//Remplissage des entêtes de la table et du contenu pour la liste client
 
            model.setColumnIdentifiers(new Object[]{"Numéro Contrat","Libellé Contrat",
                "Montant contrat","Date début contrat","Date fin de contrat"}); 
        listcontrat.forEach((contrat1) -> {
            model.addRow(new Object[]{contrat1.getIdContrat(),
                contrat1.getLibelleContrat(),contrat1.getMontantContrat(),
                contrat1.getDateDebutContrat().format(Utilitaire.FORMATDATE),
                contrat1.getDateFinContrat().format(Utilitaire.FORMATDATE)});
        });
 
   jTableAffichage.setModel(model);
        jTableAffichage.setEnabled(false);
 }
L'erreur vient de FORMADATE au vu des tests

Voici le code de mon FORMADATE stocké dans un package utilitaire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
package utilitaire;
 
import java.time.format.DateTimeFormatter;
 
/**
 *
 *
 */
public class Utilitaire {
    public static final DateTimeFormatter FORMATDATE = DateTimeFormatter.ofPattern("dd-MM-yyyy");
}
L'erreur que j'ai c'est un java null pointeur exception. Est ce que c'est dû à mes levées d'exceptions avec mes localdate et le cast en string avec mon utilitaire FORMADATE?

Merci de votre aide car je galère

ps: quand j'enlève les attributs localdate ça marche parfaitement la jtable s'affiche