Lien entre fenêtres

chat11 Messages postés 58 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 12 février 2011 - 9 juin 2008 à 20:04
chat11 Messages postés 58 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 12 février 2011 - 10 juin 2008 à 20:02
Salut !



J’ai  deux fenêtres,  chacune contient un bouton+actionperformed, j’exécute la première fenêtre puis je clique sur le bouton pour lancer la deuxième fenêtre, le code des deux boutons est comme suit :



Fenêtre1 :



Int i=0 ;




Bouton1.addActionListener(new ActionListener() {<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>








                public void actionPerformed(ActionEvent e) {








                Fenetre2  fen2=Fenetre2();







Fen2.setVisible(true);







Fen2.pack();







i++;








                }








                });






Fenêtre2 :




Bouton2.addActionListener(new ActionListener() {








                public void actionPerformed(ActionEvent e) {








                System.out.println(“ I =”+i);








                }








                });






Si  je clique sur le bouton  de la fenetre2 il affiche la valeur de i incrémenté à chaque fois mais malheureusement il affiche toujours i=0 ;



Comment faire le lien entre les deux fenêtres  pour  l’incrémentation à chaque clique sur le bouton de la fenêtre.



Merci d’avance.

2 réponses

cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
9 juin 2008 à 20:50
Salut,
tu peux definir que le constructeur de Fenetre2 prend une Fenetre1 en paramètre et qui le sauvegarde dans un attribut..
Après tu crée la fenetre2 avec new Fenetre2(this); et après quand on clique dans la fenetre2, tu peut faire un fenetre1.incrementeI(); ou un truc similaire quand on clique sur le bouton.

Pour être plus générique tu peux définir une interface qu'implémentera la fenêtre1 (qui contiendra la fonction incrementeI).

Pour être encore plus générique, on peut faire de l'événementielle, créer par exempel un objet ActionFen2Event, une interface ActionFen2Listener implémenter par la Fenetre1, ajouter des méthodes addActionFen2Listener et removeActioneFen2Listener dans la Fenetre2...
Mais bon je crois que je m'emballe un peu (on pourrait aussi faire de l'événementiel sans avoir à créer toutes ces classes), essaie la méthode 1 pour commencer ^^.
0
chat11 Messages postés 58 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 12 février 2011
10 juin 2008 à 20:02
merci beaucoup
0
Rejoignez-nous