Bonjour,
Je code en ce moment une petite application JAVA sous NetBeans. Dans ma fenêtre j'ai:
- entityGardePremiereAlarme (entityManager)
- Query (Query)
- ResultTache (QueryResult)
- tblGarde (JTable)
- dtcDate (JCalendar)
À l'ouverture de ma fenêtre toutes mes donnée sont afficher. Cependant, lorsque je modifie la date, événement appel la méthode chargerGarde()
Cette méthode crée un List de <TacheEmploye> elle parcourt mon ResultTacheEmploye et si le champs Date de c'est dernière est valide, elle l'ajoute a ma liste temporaire. Puis la fin je vide ma ResultTache, et je lui ajouter les valeurs de ma liste temporaire. (Cette partie a l'air de tous fonctionne)
Mon problème et qu'ensuite mon JTable reste vide, il n'affiche plus les valeurs présente dans mon ResultTache automatiquement.
Ma question est simple xD Est-ce que quelqu'un sait comment faire pour réactualiser(rafraichir) le binding de mon JTable.
Voici le code de ma méthode
Merci d'avance !
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 private void chargerGarde() { /* * Crée une instance de DateSemaine pour obtenir la première et la dernière * journée de la semaine sélectionner. */ DateSemaine laSemaine = new DateSemaine(dtcSemaine.getDate(),_param.getDebutSemaine()); Date laPremiereJournee = laSemaine.getPremiereJournee().getTime(); Date laDerniereJournee = laSemaine.getDerniereJournee().getTime(); /* * Crée une copie de la liste de résultat & Déterminer la taille de la liste. * Si la liste est vide, elle recharge a la recharge a partir de la requête. */ if (ResultTacheEmploye.isEmpty()) { tacheEmployeQuery = entityGardePremiereAlarme. createQuery("SELECT t FROM TacheEmploye t WHERE t.tache.id = 4"); ResultTacheEmploye = tacheEmployeQuery.getResultList(); } List<TacheEmploye> laListeCharge = new ArrayList<TacheEmploye>(); //ResultTacheEmploye; int MAX_TACHE = ResultTacheEmploye.size(); /* * Passe la liste des taches au complet, si la tache est valide on l'ajoute * dans la liste temporaire. */ for (int liI= 0; liI < MAX_TACHE; liI++) { TacheEmploye laTache = ResultTacheEmploye.get(liI); // 0 Egale 1 PlusGrand -1 PlusPetit if ((laTache.getDateHeureDebut().compareTo(laPremiereJournee) == 0) || (laTache.getDateHeureDebut().compareTo(laPremiereJournee) > 0) && ((laTache.getDateHeureDebut().compareTo(laDerniereJournee) == 0) || (laTache.getDateHeureDebut().compareTo(laDerniereJournee) < 0))) { laListeCharge.add(laTache); } } // Donner les valeur a la ResultTache ResultTacheEmploye.clear(); if (!laListeCharge.isEmpty()) { ResultTacheEmploye.addAll(laListeCharge); bindingGroup.unbind(); bindingGroup.bind(); } }
Partager