bonsoir à tous,
là j'ai vraiment besoin d'aide, même d'un avis d'expert parce que j'en perd mon latin .....
bon je balance les bribes de codes, je commente, et je pose le blême :
AbstractMenu : classe Abstraite qui étend JMenuBar
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 try { AbstractMenu AM = AbstractMenu.setMenus( new Object [] { new JMenus("name=jmMiseEnPage,text=mise en page", new String [] {"name=jmiPages,text=Pages"}), new JMenus("name=jmQuitter,text=quitter", new String []{"name=jmiExitA,text=Application", "name=jmiExitV,text=Visuel"} )// fin new JMenus 2 }// fin tab objet );// fin AM ....................................
setMenus : méthode statique qui ajoute au JMenuBar des JMenus
JMenus : classe qui étend JMenu
le constructeur prend en paramètre un String, correspondant aux attributs d'un JMenu, et un tableau de String, chaque chaîne correspondant aux attributs de JMenuItem , ajouté au JMenu.
à la sortie j'ai donc :
je contrôle mes JMenuItems( en fait des JMenus héritant nécessairement de JMenusItems .... ) en récupérant un objet par example pour le tester :System.out.println("AM : " + AM);
me donne AM :
pkgAbstractCompsosants.Menus[,0,0,0x0,invalid,layout=javax.swing.plaf.basic.DefaultMenuLayout,
alignmentX=null,alignmentY=null,border=com.sun.java.swing.plaf.motif.MotifBorders$MenuBarBorder@18622f3, flags=392,maximumSize=,minimumSize=,preferredSize=,margin=,paintBorder=true]
soit, j'ajoute donc ActionListener :JMenuItem jmi1 = AM.getJMenus(0, 0);
affiché lors de l'appel de getMenus : je récupère le JMenuItem 0 du JMenu 0 de la JMenuBar AM
item : pkgSwingComposants.JMenus[jmiPages,0,0,0x0,invalid,alignmentX=null,alignmentY=null,
border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1bc16f0,flags=264,maximumSize=,minimumSize=,preferredSize=,
defaultIcon=,disabledIcon=,disabledSelectedIcon=,
margin=javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2],paintBorder=false,
paintFocus=false,pressedIcon=,rolloverEnabled=false,
rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Pages]
et System.out.println("jmi1 : \n" + jmi1); me donne ainsi :
la même chose, le composant item ci-dessus !!!
System.out.println("ActionListener de jmi1 : \n" + jmi1.getActionListeners()[0]); me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 jmi1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { System.out.println("actionPerformed(ActionEvent evt : " + evt.getSource()); } });
bien réel donc, je serai en droit d'attendre un passage dans actionPerformed dés que je clique sur le JMenuItem de nom jmiPages ayant pour text "Pages" ....ActionListener de jmi1 :
pkgManipJTable.misEnPages$1@19ec4ed
oui ben non, rien ne se passe, qui peut m'expliquer s'il vous plait ?![]()
Partager