Bonsoir

Je suis entrain de faire une interface graphique en utilisant Comme Layout : GridBagLayout.

J arrive a quelque chose de convenable, mais j ai quelques probleme de taille que je n arrive pas a resoudre. Voici les petis problemes que j ai:

- Premierement j aimerai que seule mon JPanel panel grandisse verticalement lorsque j agrandi la fenetre. Malheureusement Mes 2 checkBox du bas (JCheck8 et JCheck9) ne restent pas collé en haut.

- Mon JTextArea diminue beacoup trop lorsque je reduis trop ma fenetre.
J aime qu il reste de la taille de mes 5 JTextField. Pour cela j ai trouvé une solution mais c est de la bidouille, j utilise setPreferredSize et setMinimumSize (mis en commentaire).

- lorsque je reduit reduit trop ma fenetre, mais JTextField disparraissent !! (enfin on ne voie pplus le champs a remplir). J aimerai les faire diminuer au fur et a mesure et non dun coup.


Voici 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
 
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
 
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
 
 
public class Titi extends JFrame {
 
	public final int DEFAULT_WIDTH = 750;
	public final int DEFAULT_HEIGHT = 350; 
	public final int DEFAULT_JTEXTFIELD = 22;
 
	public Titi() {
		Container contentPane;
 
		GridBagLayout layout;
 
		JPanel panel;
 
		JTextArea jTextComment;
		JScrollPane jScrollComment;
 
		JCheckBox jCheck1;
		JCheckBox jCheck2;
		JCheckBox jCheck3;
		JCheckBox jCheck4;
		JCheckBox jCheck5;
		JCheckBox jCheck6;
		JCheckBox jCheck7;
		JCheckBox jCheck8;
		JCheckBox jCheck9;
 
		JTextField jText1;
		JTextField jText2;
		JTextField jText3;
		JTextField jText4;
		JTextField jText5;
 
		contentPane = getContentPane();
		layout = new GridBagLayout();
 
		jTextComment = new JTextArea(7, 7);
		jScrollComment = new JScrollPane(jTextComment);
		//jScrollComment.setMinimumSize(new Dimension(200, 116));
		//jScrollComment.setPreferredSize(new Dimension(200, 116));
 
 
		panel = new JPanel();
		panel.setBackground(Color.BLUE);
		//panel.setPreferredSize(new Dimension(300, 300));
 
		jCheck1 = new JCheckBox("jCheck1");
		jCheck2 = new JCheckBox("jCheck2");
		jCheck3 = new JCheckBox("jCheck3");
		jCheck4 = new JCheckBox("jCheck4");
		jCheck5 = new JCheckBox("jCheck5");
		jCheck6 = new JCheckBox("jCheck6");
		jCheck7 = new JCheckBox("jCheck7");
		jCheck8 = new JCheckBox("jCheck8");
		jCheck9 = new JCheckBox("jCheck9");
 
		jText1 = new JTextField(DEFAULT_JTEXTFIELD);
		jText2 = new JTextField(DEFAULT_JTEXTFIELD);
		jText3 = new JTextField(DEFAULT_JTEXTFIELD);
		jText4 = new JTextField(DEFAULT_JTEXTFIELD);
		jText5 = new JTextField(DEFAULT_JTEXTFIELD);
 
		setTitle("Test");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
 
		setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
		contentPane.setLayout(layout);
 
 
		contentPane.add(panel, new GBC(0, 0, 10, 12).setAnchor(GBC.NORTHWEST).setFill(GBC.BOTH).setInsets(10, 5, 10, 5).setWeight(1, 1));
 
		contentPane.add(jCheck1, new GBC(GBC.REMAINDER, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 0, 0));
		contentPane.add(jCheck2, new GBC(GBC.REMAINDER, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 15, 0));
 
		contentPane.add(jCheck3, new GBC(0, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 0, 0));
		contentPane.add(jCheck4, new GBC(0, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 0, 0));
		contentPane.add(jCheck5, new GBC(0, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 0, 0));
		contentPane.add(jCheck6, new GBC(0, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 0, 0));
		contentPane.add(jCheck7, new GBC(0, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 0, 0));
 
		contentPane.add(jText1, new GBC(1, 14).setAnchor(GBC.NORTHWEST).setFill(GBC.HORIZONTAL).setInsets(3, 0, 0, 0));
		contentPane.add(jText2, new GBC(1, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setFill(GBC.HORIZONTAL).setInsets(3, 0, 0, 0));
		contentPane.add(jText3, new GBC(1, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setFill(GBC.HORIZONTAL).setInsets(3, 0, 0, 0));
		contentPane.add(jText4, new GBC(1, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setFill(GBC.HORIZONTAL).setInsets(3, 0, 0, 0));
		contentPane.add(jText5, new GBC(1, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setFill(GBC.HORIZONTAL).setInsets(3, 0, 0, 0));
 
		contentPane.add(jScrollComment, new GBC(GridBagConstraints.RELATIVE, 14, 5, 5).setAnchor(GBC.NORTHWEST).setFill(GBC.HORIZONTAL).setInsets(3, 10, 0, 5).setWeight(10, 10));
		contentPane.add(jCheck8, new GBC(2, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 0, 0));
		contentPane.add(jCheck9, new GBC(2, GBC.RELATIVE).setAnchor(GBC.NORTHWEST).setInsets(0, 5, 0, 0));
 
		setVisible(true);
	}
 
 
	public static void main(String[] args) {
		Titi a = new Titi();
	}
 
}


Merci pour vos reponses futures.