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 :
Mon problème est que quand j'agrandis ou diminue ma fenêtre, les composants (à savoir les 2 rectangles) gardent les mêmes dimensions...
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; } }
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.
Partager