Java - Ayuda con loyouts

 
Vista:
sin imagen de perfil

Ayuda con loyouts

Publicado por alex (1 intervención) el 08/02/2016 13:51:32
Hola, necesito que me ayudéis para terminar de comprender el uso del layout "gridbagLayout".

El tema es que he echo un programa con el siguiente aspecto(Usando el editor gráfico del netbeans):


pantallaOriginal

Que me sale bien, pero claro, desearía que el programa estuviera en pantalla completa (dependiendo de cada pantalla) por lo que he puesto:

this.setExtendedState(JFrame.MAXIMIZED_BOTH);

Entonces como se descuadra todo he empezado a modificar el panel sin nada añadiendo desde código los componentes e intentando ubicarlos de la siguiente manera:

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
int etiquetaTara = 0;
int desplegable = 0;
int etiquetaPalet = 0;
int texto = 0;
JLabel[] etiquetasPalet;
JLabel[] etiquetasTara;
etiquetasPalet = new JLabel[26];
etiquetasTara = new JLabel[26];
JComboBox[] desplegables;
desplegables = new JComboBox[26];
JTextField textos[];
textos = new JTextField[52];
for (int i = 0; i < 52; i++) {
	textos[i] = new JTextField(100);
	//textos[i].setMinimumSize(minimumSize);
	//textos[i].setVisible(true);
}
 
for (int i = 0; i < 26; i++) {
	etiquetasPalet[i] = new JLabel("Tara " + (i + 1) + ":");
	etiquetasTara[i] = new JLabel("Palet " + (i + 1) + ":");
	desplegables[i] = new JComboBox();
}
 
GridBagConstraints constraints = new GridBagConstraints();
constraints.insets = new Insets(3, 3, 3, 3);
jPanel4.setLayout(new GridBagLayout());
//new Insets(arriba, izquierda, abajo, derecha);
//constraints.insets = new Insets(1, 3, 1, 3);
for (int i = 0; i < 12; i++) {
	for (int j = 0; j < 10; j++) {
		//System.out.println(i + "," + j);
		constraints.gridx = j;
		constraints.gridy = i;
		constraints.gridwidth = 1;
		constraints.gridheight = 1;
		constraints.weightx = 1;
		constraints.fill = GridBagConstraints.HORIZONTAL;
		switch (j) {
			case 0:
			case 5:
				//System.out.println("Palet" + etiquetaPalet);
				jPanel4.add(etiquetasPalet[etiquetaPalet], constraints);
				etiquetaPalet++;
				break;
			case 4:
			case 9:
				//System.out.println("Combo" + desplegable);
				jPanel4.add(desplegables[desplegable], constraints);
				desplegable++;
				break;
			case 2:
			case 7:
				//System.out.println("Tara" + etiquetaTara);
				jPanel4.add(etiquetasTara[etiquetaTara], constraints);
				etiquetaTara++;
				break;
			case 1:
			case 3:
			case 6:
			case 8:
				//System.out.println("TextField" + texto);
				jPanel4.add(textos[texto], constraints);
				texto++;
			default:
				break;
		}
	}
}

Con lo que me sale:


pantalla

Desearía que me dijerais como controlar esos espacios y que los componentes ocupen toda la pantalla.

No se si me he explicado muy bien.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder