Bonjour à tous


Je suis en train d'essayer d'apprendre un peu à utiliser SWING pour faire des interfaces graphiques et j'ai un petit souci.

J'ai regardé un peu la gestion de placement sur un site nommé Koors.
Jai donc réussi à me faire des gestions sympas avec des BoxLayout, des Flowlayout, et des borderlayout...

Mais, la, en me définisant un JPanel perso (pour l'intégrer dans un cardLayout à terme) , et je galère avec la taille de mes composants.

l'idée est d'obtenir un truc qui ressemble à ca :

Nom : IFvoulue.PNG
Affichages : 127
Taille : 2,4 Ko

Ma classe définit donc :
un JPANEL en boxlayout qui contient :
=> un composant LABEL
=> un JPANEL""insidePanel"" lui meme en GRIDLAYOUT(2*3) contenant
=>=> 3 composants Labels
=>=> 3 composants TextField

J'ai 2 problemes qui sont doute 2 fois le meme :
- mon "insidePanel" (et son gridLayout) occupe toute la place disponible dans son container
- mes 6 composants occupent chacun la totalité de la place

j'ai eu beau utiliser des setBounds, setSize, rien n'y fait, j'obitens ca :

Nom : IFobtenue.PNG
Affichages : 131
Taille : 9,2 Ko
Ca ressemble pas vraiment à mon idéee

Une idée ??

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
 
public class JPanelTeam extends JPanel {
 
	DAO_Utils myDAO=new DAO_Utils();
	static BoxLayout bxl;
	GridLayout grid=new GridLayout(2,3);
	//
	static JLabel teamNameLabel;
 
	static JLabel longNameLabel,shortNameLabel,soldeLabel;
 
	static JTextField longNameText, shortNameText, soldeText;
 
 
	public JPanelTeam() {
		this.setBorder(new LineBorder(new Color(0, 0, 0)));
		bxl = new BoxLayout(this, BoxLayout.Y_AXIS);
		this.setLayout(bxl);
 
 
		teamNameLabel=new JLabel();
		teamNameLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
		teamNameLabel.setHorizontalAlignment(SwingConstants.CENTER);
		teamNameLabel.setText("------------------MA TEAM--------------------");
		teamNameLabel.setSize(400,200);
 
		teamNameLabel.setVisible(true);
		this.add(teamNameLabel);
 
 
		JPanel insidePanel=new JPanel();
			//insidePanel.setBounds(0,0,400,200);
			insidePanel.setLayout(grid);
			insidePanel.setBackground(Color.LIGHT_GRAY);
 
			longNameLabel=new JLabel();
			longNameLabel.setText("TEAM NAME");
			longNameLabel.setVisible(true);
			insidePanel.add(longNameLabel);
 
			shortNameLabel=new JLabel();
			shortNameLabel.setText("SHORT NAME");
			shortNameLabel.setVisible(true);
			insidePanel.add(shortNameLabel);
 
			soldeLabel=new JLabel();
			soldeLabel.setText("BALANCE");
			soldeLabel.setVisible(true);
			insidePanel.add(soldeLabel);
 
			longNameText=new JTextField();
			longNameText.setText("le NOM LONG");
			longNameText.setVisible(true);
			insidePanel.add(longNameText);
 
			shortNameText=new JTextField();
			shortNameText.setText("LE NOM COURT");
			shortNameText.setVisible(true);
			insidePanel.add(shortNameText);
 
			soldeText=new JTextField();
			soldeText.setText("00000000000.0000000000");
			soldeText.setVisible(true);
			insidePanel.add(soldeText);
 
		this.add(insidePanel);	
	}
 
}
Je sens que c'est une méga connerie que je vois pas !
Merci à toute aide (si y a des conseils de bonnes pratique au passage, je prend !)