Bonjour,

Je débute avec swing et le GridBagLayout. J'ai un petit soucis (je penses de compréhension je penses) avec mon layout.

Voila ce que je j'obtiens.

Nom : RandomBugGraph.jpg
Affichages : 7352
Taille : 34,9 Ko


Normalement si j'ai tout bien compris je devrais avoir la partie rose qui est équivalente a la grise. Mais ce n'est pas le cas.
Voici un peu 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
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package vue;
 
 
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
 
 
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
 
 
 
public class FenetreTest extends JFrame{
 
	private JLabel lblComboBox;
	private JComboBox<String> cboListeChoix;
	private String[] Liste= {"Cdi1","Cdi2","Cdi3","Cdi4"};
	private JButton cmdToutCocher;
	private JButton cmdToutDecocher;
	private JButton cmdRandom;
	private JButton cmdRandom2;
 
	public FenetreTest(String titre,int largeur,int hauteur){
		setTitle(titre);
		setSize(largeur, hauteur);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new GridBagLayout());
		initComposants();
		setVisible(true);
	}
	public void initComposants() {
 
		GridBagConstraints gbc= new GridBagConstraints();
		//*******Label description ComboBox******
		gbc.gridx= gbc.gridy =0;
		gbc.gridheight=gbc.gridheight=1;
		lblComboBox=new JLabel();
		lblComboBox.setText("Classe :");
		add(lblComboBox,gbc);
		//******fin LblComboBox******
 
 
 
		//*********ComboBox*******
		gbc.gridx=1;
		cboListeChoix= new JComboBox<>();
		cboListeChoix.setEditable(false);
 
		for  (String indexListe : Liste) {
			cboListeChoix.addItem(indexListe);
		}
		add(cboListeChoix,gbc);
		//******FinComboBox*******
 
		//******Bouton Tout Cocher****
		gbc.gridx=3;
		cmdToutCocher=new JButton();
		cmdToutCocher.setText("Tout cocher");
		add(cmdToutCocher,gbc);
		//******Fin tout cocher******
 
		//******Bouton tout decocher******
		gbc.gridx=4;
		//gbc.gridwidth=GridBagConstraints.REMAINDER;
		cmdToutDecocher=new JButton();
		cmdToutDecocher.setText("Tout decocher");
		add(cmdToutDecocher,gbc);
		//******Fin tout decocher******
 
 
		//******Panneau rose******
		gbc.gridy=1;
		gbc.gridx=0;
		gbc.gridheight=5;
		gbc.gridwidth=3;
		gbc.weightx = 1;
		gbc.weighty = 1;
		gbc.fill=GridBagConstraints.BOTH;
		add(new PanResultat(),gbc);
		//******fin Panneau rose******
 
		//******Panneau gris******
		gbc.gridx=3;
		//gbc.gridwidth=GridBagConstraints.REMAINDER;
		gbc.gridwidth=2;
		PanResultat panResultat=new PanResultat();
		panResultat.setBackground(new Color(100,100,100));
		add(panResultat,gbc);
		//******fin Panneau gris******
 
		gbc.weightx = 0;
		gbc.weighty = 0;
		gbc.fill=GridBagConstraints.NONE;
		//******Bouton Random****
		gbc.gridy=7;
		gbc.gridheight=1;
		gbc.gridwidth=1;
		cmdRandom=new JButton();
		cmdRandom.setText("Tout cocher");
		add(cmdRandom,gbc);
		//******Fin tout cocher******
 
		//******Bouton Random****
		gbc.gridx=4;
		gbc.gridwidth=1;
		cmdRandom2=new JButton();
		cmdRandom2.setText("Tout cocher");
		add(cmdRandom2,gbc);
		//******Fin tout cocher******
 
 
	}
 
}
Voici le code pour le Jpanel

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
package vue;
 
import java.awt.Color;
 
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
 
public class PanResultat extends JPanel {
 
	public PanResultat() {
 
		setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
		JLabel l1= new JLabel("Label1");
		JLabel l2= new JLabel("Label2");
		JLabel l3= new JLabel("Label3");
		setSize(400,200);
		add(l1);
		add(l2);
		add(l3);
		setBackground(new Color(255, 0, 150));
	}
 
}

Au niveau de la conception devrais je passer par un Jpanel pour les boutons du bas et du haut car je n'ai pas le même nombres d’éléments sur chaque ligne de GridBagLayout.

Merci