Menu bar en java

emna10 Messages postés 11 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 6 février 2009 - 28 août 2008 à 18:35
mounis2400 Messages postés 8 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 30 août 2008 - 29 août 2008 à 12:21
Bonjour!
je rencontre un probleme au niveau de la manipulation du menu dans mon application(en java):
j'ai creer une classe menu qui construit le menu (avec les action listener:action sur les frame contenant le menu)a ajouter a mes fenetre.donc j'ajoute dans les autres classe une istancition de la classe menu.le probleme que je ne peut pas determiner le frame qui contient le menu.par exemple :JMenuItem apparence doit changer l'apparence du frame a parent .comment modifier l'action listener de la classe menu pour agir sur toute les classe qui introduit le menu.je ne sais pas si qlq un comprend mon probleme.

3 réponses

mounis2400 Messages postés 8 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 30 août 2008
28 août 2008 à 20:58
tu peut ajouter un méthode dans la classe qui crée les menu bar dont on peut lui passer une instance du parent ex: setParent( Jframe parentFrm) ou ajouter un autre paramêre au constructeur de cette classe qui sera de même type que les parents utilisés.
je peux donner plus de détails si c est pas suffisant.
0
emna10 Messages postés 11 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 6 février 2009
29 août 2008 à 11:12
Bonjour,


j'ai pas bien assimilé votre idée,merci de me donner plus de details.
0
mounis2400 Messages postés 8 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 30 août 2008
29 août 2008 à 12:21
exemple:
public class JMenuCreator extends JMenuBar {
JFrame parentFrame;
    public JMenuCreator() {
       
            // ..........
    }

    public JMenuCreator(.. ..,.. ..,.. ..,JFrame parentFrame) {
        this.parentFrame = parentFrame;
//        .....
//        ...
//        ...
    }

    public void setParentFrame(JFrame parentFrame) {
        this.parentFrame = parentFrame;
    }
    public void changeParentColor(Color color){
        parentFrame.setForeground(color);
    }

}
pour utiliser cette classe il te suffit de
public classe frame extends  JFrame {
JMenuCreator jMenu;
public frame(){
jMenu=new JMenuCreator(.. ..,.. ..,.. ..,this);
// ou tu peut :
// jMenu= nes JMenuCreator ();
//jMenu.setParentFrame(this);
jMenu.changeParentColor(Color.Red);
}

si arrive pas envoi ton code et je pourrai enchallah plus t aider
je suis là pour aider et faire connaissance avec les meilleurs.
0
Rejoignez-nous