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 :
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
....................................
AbstractMenu : classe Abstraite qui étend JMenuBar
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 :
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]
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 :
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 !!!
soit, j'ajoute donc ActionListener :
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());
  }
});
System.out.println("ActionListener de jmi1 : \n" + jmi1.getActionListeners()[0]); me donne :
ActionListener de jmi1 :
pkgManipJTable.misEnPages$1@19ec4ed
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" ....
oui ben non, rien ne se passe, qui peut m'expliquer s'il vous plait ?