Bonjour,

Je cherche à intégrer un menu commun à plusieurs fenêtres que je créérai dans une petite appli.
J'ai crée le menu qui s'affiche bien lorsque je le mets "en dur" dans une fenêtre comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
public class MainMenu extends JFrame {
 
 
		JMenuBar menuBar = new JMenuBar();
		  JMenu test1 = new JMenu("Fichier");
		  JMenu test1_2 = new JMenu("Sous ficher");
		  JMenu test2 = new JMenu("Edition");
 
		  JMenuItem item1 = new JMenuItem("Ouvrir");
		  JMenuItem item2 = new JMenuItem("Fermer");
		  JMenuItem item3 = new JMenuItem("Lancer");
		  JMenuItem item4 = new JMenuItem("Arrêter");
 
		  test1.add(item1);
 
 
	    test1.add(test1_2);
 
	    item2.addActionListener(new ActionListener(){
 
	      public void actionPerformed(ActionEvent e) {
	       //action à faire
	      }        
	    });
	    test1.add(item2);  
	    test2.add(item3);
	    test2.add(item4);
 
 
	    menuBar.add(test2);
	    setJMenuBar(menuBar);
	    setVisible(true);
	}
}
Mais lorsque je mets ce meme code dans une méthode dédiée à la création du menu et que je l'appelle comme ceci pour générer une autre fenêtre, ça m'affiche une fenêtre vide avec à coté une barre de menu hors de la fenêtre.
Ma question est : comment fixer convenablement la barre de mon menu sur le top de la fenêtre ?

Code qui ne fontionne pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
public class MainWindows extends JFrame{
 
	public MainWindows(){
		build();
	}
 
	private void build(){
		setTitle("Ma première fenêtre");
		setSize(600, 800); 
		setLocationRelativeTo(null); 
		setResizable(true); //
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
		setContentPane(buildContentPane());
	}
 
	public JPanel buildContentPane(){
		panel = new JPanel();
 
		MainMenu mMenu = new MainMenu();//class MainMenu dédiée à la création du menu
		mMenu.createMenu();//createMenu contient le code montré ci dessus
 
		return panel;
	}
}
Merci