Rafraichir une JList qui se trouve dans une autre fenetre [Résolu]

Messages postés
27
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2011
- - Dernière réponse : 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
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
27
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2011
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de etu54
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
112
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
27
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2011
0
Merci
Justement je ne sais pas comment faire ... si tu pouvait m'aider cela serait sympa
Commenter la réponse de etu54
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
112
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
27
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2011
0
Merci
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)
Commenter la réponse de etu54
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
112
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
27
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2011
0
Merci
non windowclosed ne marchera pas je pense car la fenetre ou se trouve le JList n'est pas fermee elle est simplement en background
Commenter la réponse de etu54
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
112
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
27
Date d'inscription
mardi 2 juin 2009
Statut
Membre
Dernière intervention
26 juillet 2011
0
Merci
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
Commenter la réponse de etu54
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
112
0
Merci
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
Commenter la réponse de cs_DARKSIDIOUS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.