Bonjour,

en cherchant sur le forum, j'ai trouvé plusieurs topics traitant de ce sujet, mais malheureusement aucun n'a pu m'aider dans mon problème:

comment faire pour que lorsque l'on redimensionne une fenêtre, tous les composants se redimensionnent aussi ?

J'ai une JFrame qui contient 1 JPanel principal qui va lui-même contenir 2 JPanels (ces 2 JPanels sont obtenus par des classes qui dessinent des rectangles), j'utilise un GridLayout à 2 lignes et 1 colonne (1er rectangle issu du 1er JPanel en haut, et l'autre en bas), voici une partie de mon code :

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
/** Classe contenant le code qui gere l'aspect general de la fenetre de l'application **/
import javax.swing.*;
import java.awt.*;
 
public class FenetrePrincipale extends JFrame
{
	//Constructeur
	public FenetrePrincipale()
	{
		super();
		build();	//on initialise la fenetre
	}
 
	private void build()
	{
		setTitle("Deux rectangles");
		setSize(800,700);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setContentPane(buildContentPane());
	}
 
	private JPanel buildContentPane()
	{
		JPanel panneau_princ = new JPanel();
 
		panneau_princ.setLayout(new GridLayout(2,1));
		panneau_princ.setBackground(Color.GREEN);
 
		CamionDeCote panneau1 = new Rectangle1();
		CamionDeFace panneau2 = new Rectangle2();
 
		panneau_princ.add(panneau1);
		panneau_princ.add(panneau2);
 
		return panneau_princ;
	}
}
Mon problème est que quand j'agrandis ou diminue ma fenêtre, les composants (à savoir les 2 rectangles) gardent les mêmes dimensions...

Faut-il que je modifie les dimensions de mes rectangles à chaque fois que la JFrame est agrandie (en utillisant componentResized(ComponentEvent e) ) ?

Pourtant, d'après ce que j'ai lu, l'utilisation d'un gestionnaire de disposition devrait permettre le redimensionnement automatique des composants ?

Merci d'avance pour votre aide.