Bonjour à tous et Bonne Année,

J'essaie en vain de positionner 3 boutons dans la fenêtre de mon application avec GridBagLayout.
Pour l'instant je n'ai placé qu'un bouton pour voir s'il est bien situé (il est au centre, alors que je pensais en haut et à gauche). Apparemment, pas le succès escompté. De plus le JPanel créé masque le rectangle que j'ai crée dans un container.
Voici les classes:

Main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
package Logiciel;
 
import logiciel_fenetre.Fenetre;
 
public class Main {
 
	public static void main(String[] args) {
 
		new Fenetre ();
	}
 
}
Fenêtre
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
 
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
 
@SuppressWarnings("serial")
public class Fenetre extends JFrame{
 
	private Panneau pan = new Panneau();
	private JPanel container = new JPanel();
	//Ajout d'une barre de menu.
	private JMenuBar menuBar = new JMenuBar();
 
	//Ajout d'un menu.
	private JMenu ficher = new JMenu("Ficher"),
			aPropos = new JMenu("À propos");
 
	private JMenuItem quitter = new JMenuItem("Quitter"),
			aProposItem = new JMenuItem("Lisez-moi");
 
	public Fenetre(){
		//Création de la fenêtre.
		this.setTitle("Logiciel");
		this.setSize(800, 500);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
		//container.setBackground(Color.white);
		container.setLayout(new BorderLayout());
		container.add(pan, BorderLayout.CENTER);
 
		this.setContentPane(container);
		this.initMenu();
		this.setVisible(true);
	}
 
	private void initMenu(){
		//Menu ficher
		ficher.add(quitter);
		//Pour quitter l'application
		quitter.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent event){
				System.exit(0);
	}
		});
 
		ficher.add(quitter);
 
		//Menu À propos
		aPropos.add(aProposItem);
 
		//Ajout des menus dans la barre de menus
		menuBar.add(ficher);
		menuBar.add(aPropos);
 
		//Ajout de la barre de menus sur la fenêtre
		this.setJMenuBar(menuBar);
 
		//Le conteneur principal
		JPanel content = new JPanel();
		content.setPreferredSize(new Dimension(100, 120));
		//content.setBackground(Color.WHITE);
		//On définit le layout manager
		content.setLayout(new GridBagLayout());
 
		//L'objet servant à positionner les composants
		GridBagConstraints gbc = new GridBagConstraints();
 
		//Création de trois boutons: ouvrir, effacer, copier.
		JButton btnouvrir = new JButton("Ouvrir");
		JButton btncopier = new JButton("Copier");
		JButton btneffacer = new JButton("Effacer");
 
		//On positionne la case de départ du composant
		gbc.gridx = 0;
		gbc.gridy = 0;
		//La taille en hauteur et en largeur
		gbc.gridheight = 3;
		gbc.gridwidth = 1;
 
		//Bouton ouvrir.
		btnouvrir.setPreferredSize(new Dimension(100, 40));
		gbc.gridwidth = GridBagConstraints.FIRST_LINE_START;
		gbc.gridwidth = GridBagConstraints.REMAINDER;
		content.add(btnouvrir, gbc);
 
		//On ajoute le conteneur
		this.setContentPane(content);
 
 
	}
}
Panneau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
package logiciel_fenetre;
 
import java.awt.Graphics;
 
import javax.swing.JPanel;
 
@SuppressWarnings("serial")
public class Panneau extends JPanel{
	public void paintComponent(Graphics g){		
		g.drawRect(400, 20, 360, 400);
 
	}
	}
Merci pour vos réponses.