Propagation de listener

yonathanzerb Messages postés 10 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 8 août 2006 - 2 août 2005 à 18:15
yonathanzerb Messages postés 10 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 8 août 2006 - 3 août 2005 à 19:41
Salut,



Voila mon petit probleme. En fait je fabrique une IHM composé d'une JFrame et contenant des JInternalFrame.

Je voudrais donc savoir comment il est possible de remonter une information d'une JInternalFrame a la JFrame.



Si quelqu'un a une solution, un code sur lequel je pourrais m'exercer car je suis encore debutant dans la programmation d'IHM.



Merci d'avance pour vos solutions!!!

3 réponses

safisoft Messages postés 489 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 13 mai 2009 6
2 août 2005 à 19:05
tu peux t'informer sur la création et l'utilisation des interfaces (pas les interfaces utilisateur "IHM" mais les interfaces entre classes)
public class XXX{
MyListener listener....
}

interface MysListener{
...();
......(.....);
}

class XXXRecept implements MyListener {

//definition des methodes de l'interface
}
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
3 août 2005 à 11:21
autrement ;o) a l instance de ta JInternal tu conserve une reference sur la JFrame voulu ou sur une classe ;o) sevant de model de donné par exemple ;o) et tu utilise ainsi les "get" "set" disponible ou autre methode ... ;o)

GL

++

GodConan
0
yonathanzerb Messages postés 10 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 8 août 2006 1
3 août 2005 à 19:41
en fait, je pense que les interfaces peuvent m'aider mais je
n'arrive pas a bien saisir comment elles fonctionnent et a quoi elle
servent.



Si quelqu'un peut m'aider, je vais donner un exemple precis de ce que je veux faire:

J'ai une classe A heritant de JPanel.

J'ai une classe B heritant de JInternalFrame.

La classe B contient la classe A (le container est rempli par la classe A heritant de JPanel).

Je souhaiterai que lorsque je clique sur un bouton dans la classe A, la JInternalFrame (classe B) se ferme.



Voici la solution que j'adopte:

class A extend JPanel

{

public JButton bouton;



public A(){

bouton = new JButton("Annuler");

add(bouton);

// action Listener


bouton.addActionListener(new ActionListener()


{


public void actionPerformed(ActionEvent e)


{


// Code a executer lors du clique


}


});

}

}



class B extend JInternalFrame

{

private JButton bouton;



public B(){

Container C = getContentPane();

A a = new A();

C.add(a);

bouton = NAP.bouton;

// action Listener

bouton.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

dispose();

}

});

}

}



Pouvez vous me dire si ce code est optimisable? De plus, si le code du
listener de la classe A est plus long (dans le temps) que celui de la
classe B, est ce qu'il s'executera entièrement?



Merci de vos réponses!!!
0
Rejoignez-nous