Rafrachissement d'un Jtable (Biding)
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
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 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();
}
} |
Merci d'avance !