Bonjour,

Par un Menu, je cherche à pourvoir changer de JPanel.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public class Main {
	public static void main(String[] args){       
		Fenetre fen = new Fenetre();
	}
}
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
public class Fenetre extends JFrame {
	private JMenuBar menuBar = new JMenuBar();
	private JMenu M1 = new JMenu("Menu");
	private JMenuItem M1_1 = new JMenuItem("Menu1");
	private JMenuItem M1_2 = new JMenuItem("Menu2");
	private JMenuItem M1_3 = new JMenuItem("Fermer");
	public Fenetre(){
		this.setTitle("Menu");
		this.setSize(700, 700);
		this.setResizable(false);
		this.setUndecorated(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLocationRelativeTo(null);
		this.M1.add(M1_1);
		this.M1.add(M1_2);
		this.M1.addSeparator();
		M1_3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {System.exit(0);}});
		this.M1.add(M1_3);  
		this.menuBar.add(M1);
		this.setJMenuBar(menuBar);
		this.setContentPane(new PanneauM1_1());
		this.setVisible(true);
	}
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public class PanneauM1_1 extends JPanel { 
	public void paintComponent(Graphics g){
		Font font = new Font("Courier", Font.BOLD, 20);
		g.setFont(font);
		g.setColor(Color.blue);
		g.drawString("Menu 1", 10, 20);
	}               
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public class PanneauM1_2 extends JPanel { 
	public void paintComponent(Graphics g){
		Font font = new Font("Courier", Font.BOLD, 20);
		g.setFont(font);
		g.setColor(Color.red);
		g.drawString("Menu 2", 10, 20);
	}               
}
Quand je clic sur Menu_1 je veux afficher le JPanel PanneauM1_1 et quand je clic sur Menu_2 je veux afficher le JPanel PanneauM1_2.

Je suppose qu'il faut ajouter un addActionListener dans la class Fenetre, mais je ne comprend pas comment ...

Si quelqu'un peut m'aider, par avance merci.