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 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
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; }
L'erreur vient de FORMADATE au vu des tests
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); }
Voici le code de mon FORMADATE stocké dans un package utilitaire
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?
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"); }
Merci de votre aide car je galère
ps: quand j'enlève les attributs localdate ça marche parfaitement la jtable s'affiche
Partager