Rafraichir une JList qui se trouve dans une autre fenetre

Résolu
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 - 19 mars 2010 à 19:02
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 - 20 mars 2010 à 12:29
Bonjour a tous,
j'ai pas mal chercher et je n'ai rien trouver qui me reponde précisément a ma question.

Alors voila je resume j'ai 2 classes : - Menu
- Ajout

La classe Menu contient un bouton ajouter et un JList qui prend ses infos dans une base de données (ces infos sont stockées dans un Vector<X> bref ceci n'est pas important)

Lorsque je clique sur mon bouton ajout une nouvelle fenetre s'ouvre, celle de la classe Ajout
Comme vous le deviner la classe ajout permet d'ajouter un élément a la base de donnée, jusqu'ici tout fonctionne parfaitement

Lorsque l'ajout est terminer la fenetre ce ferme et le focus revient sur ma fenetre menu. L'élément est parfaitement ajouter a la Base de donnée (c'est du MySql)

Seulement voila la JList ne se rafraichis pas, elle n'affiche pas le dernier element ajouter a la base de donnée et c'est la mon probleme je ne sais pas comment faire j'ai éssayer beaucoup de methodes mais en vain.

Je vous demande donc comment faire svp

Si vous m'aider je vous serais très reconnaissant car c'est le seul point qu'il manque a mon projet de fin d'année.

D'avance merci

10 réponses

etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 1
20 mars 2010 à 12:29
C'est bon j'ai trouver, je poste la reponse ca peut aidé certains
en faite il fallai utilisé widowGainedFocus dans ma fenetre menu, c'est a dire lorsque la fenetre récupere le focus on met a jour notre JList
ca donne un truc com sa :

public void windowGainedFocus(WindowEvent e) {

l.setListData(tab_client);

}

Merci a tous de votre aide c'était sympa
A bientot
1
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 mars 2010 à 19:31
Salut,

Est-ce que tu rafraichit toi-même la liste à la fermeture de la fenêtre ? Car elle ne se rafraichira pas toute seule...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 1
19 mars 2010 à 19:47
Justement je ne sais pas comment faire ... si tu pouvait m'aider cela serait sympa
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 mars 2010 à 20:00
Salut,

Qu'est-ce que tu n'arrives pas à faire ? Détecter lorsque la fenêtre se ferme ? Faire une requête vers la base de données ? Remplir la liste à partir des données récupérées de la base ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 1
19 mars 2010 à 20:42
En faite je ne trouve pas quel évenement utiliser pour dire que lorsque je revient a ma page principal je doit rafraichir le JList (avec revalidate() si je ne me trompe pas)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 mars 2010 à 20:51
Salut,

Ce n'est pas au JFrame ouvert de déclencher un invalidate de la fenêtre qui l'a appelée, mais à la fenêtre contenant ta liste d'écouter le JFrame.

Utilise la méthode windowClosed du WindowListener.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 1
19 mars 2010 à 22:19
non windowclosed ne marchera pas je pense car la fenetre ou se trouve le JList n'est pas fermee elle est simplement en background
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 mars 2010 à 22:24
Salut,

Non il ne faut pas l'appliquée à la fenêtre qui contient le JList, mais sur la fenêtre que tu ouvre avec ton bouton d'ajout : dans ton bouton d'ajout, tu ouvre une fenêtre, sur laquelle tu enregistre un listener de fenêtre (WindowListener) qui sera déclenché lorsque la fenêtre sera fermée. Tu n'auras plus qu'à rafraîchir la liste à ce moment là.

Grosso modo, ca donne un truc du genre :
tonBouton.addActionListener(//...ton listener de bouton...
public void actionPerformed(ActionEvent e) {
JFrameAjout frame = new JFrameAjout();
frame.addWindowListener(//...ton listener de fenêtre ...
public void windowClose(WindowEvent e) {
// la fenêtre JFrameAjout est fermée => là tu rafraîchit ta JList
}
}
}

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
etu54 Messages postés 27 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 26 juillet 2011 1
19 mars 2010 à 22:28
a c'est ca que tu voulai dire
Oui ca je le fai deja mais justement je n'arrive pas trouver commen raffraichir dans mon écouteur car je n'arrive pas a récupéré la JList
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 mars 2010 à 22:48
Salut,

Attention si tu crée une classe spéciale pour l'écouteur. Le mieux c'est de faire implémenter l'interface WindowListener par ta JFrame contenant la JList, et appliquer this comme listener à ta JFrame d'ajout.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0