Bonjour,
J'ai 2 boutons et 1 label positionnés dans un GridBagLayout, 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
 
	public JPanel getPanelDate() {
		if (panelDate == null) {
			panelDate = new JPanel();
			GridBagLayout gbl_panelDate = new GridBagLayout();
			gbl_panelDate.columnWidths = new int[]{0, 260, 0};
			gbl_panelDate.rowHeights = new int[]{25};
			gbl_panelDate.columnWeights = new double[]{1.0, 0.0, 1.0};
			gbl_panelDate.rowWeights = new double[]{0.0};
			panelDate.setLayout(gbl_panelDate);
			GridBagConstraints gbc_btnGauche = new GridBagConstraints();
			gbc_btnGauche.anchor = GridBagConstraints.NORTHEAST;
			gbc_btnGauche.insets = new Insets(0, 10, 0, 0);
			gbc_btnGauche.gridx = 0;
			gbc_btnGauche.gridy = 0;
			panelDate.add(getBtnGauche(), gbc_btnGauche);
			GridBagConstraints gbc_lblDate = new GridBagConstraints();
			gbc_lblDate.insets = new Insets(0, 0, 0, 0);
			gbc_lblDate.gridx = 1;
			gbc_lblDate.gridy = 0;
			panelDate.add(getLblDate(), gbc_lblDate);
			GridBagConstraints gbc_btnDroite = new GridBagConstraints();
			gbc_btnDroite.anchor = GridBagConstraints.NORTHWEST;
			gbc_btnDroite.insets = new Insets(0, 0, 0, 0);
			gbc_btnDroite.gridx = 2;
			gbc_btnDroite.gridy = 0;
			panelDate.add(getBtnDroite(), gbc_btnDroite);
		}
		return panelDate;
	}
Je dois pouvoir rendre mes boutons visibles ou invisibles.
Mais quand je rend un bouton invisible, ça me déplace alors le label et l'autre bouton.
Or, je voudrais que mes composants ne changent pas de position, peu importe qu'ils soient visibles ou invisibles.
Comment faire, sans pour autant donner des positions fixes à mes boutons ? (je voudrais les conserver dans un layout afin de pouvoir s'adapter en permanence à la taille de la fenêtre)