Problème erreur exception sur affichage JTable
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:
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:
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:
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