24
cuadricula1 =
new
GridLayout(
2
,
3
,
5
,
5
);
// 2 por 3; espacios de 5
25
cuadricula2 =
new
GridLayout(
3
,
2
);
// 3 por 2; sin espacios
26
contenedor = getContentPane();
// obtiene el panel de contenido
27
setLayout( cuadricula1 );
// establece esquema de objeto JFrame
28
botones =
new
JButton[ nombres.length ];
// crea arreglo de objetos JButton
29
30
for
(
int
cuenta =
0
; cuenta < nombres.length; cuenta++ )
31
{
32
botones[ cuenta ] =
new
JButton( nombres[ cuenta ] );
33
botones[ cuenta ].addActionListener(
this
);
// registra componente de escucha
34
add( botones[ cuenta ] );
// agrega boton a objeto JFrame
35
}
// fin de for
36
}
// fin del constructor de MarcoGridLayout
37
38
// maneja eventos de boton, alternando entre los esquemas
39
public void
actionPerformed( ActionEvent evento )
40
{
41
if
( alternar )
42
contenedor.setLayout( cuadricula2 );
// establece esquema al primero
43
else
44
contenedor.setLayout( cuadricula1 );
// establece esquema al segundo
45
46
alternar = !alternar;
// establece alternar a su valor opuesto
47
contenedor.validate();
// redistribuye el contenedor
48
}
// fin del método actionPerformed
49
}
// fin de la clase MarcoGridLayout
Figura 11.43
|
GridLayout
que contiene seis botones. (Parte 2 de 2).
Figura 11.44
| Clase de prueba de
MarcoGridLayout
.
1
// Fig. 11.44: DemoGridLayout.java
2
// Prueba de MarcoGridLayout.
3
import
javax.swing.JFrame;
4
5
public class
DemoGridLayout
6
{
7
public static void
main( String args[] )
8
{
9
MarcoGridLayout marcoGridLayout =
new
MarcoGridLayout();
10
marcoGridLayout.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE
);
11
marcoGridLayout.setSize(
300
,
200
);
// establece el tamaño del marco
12
marcoGridLayout.setVisible(
true
);
// muestra el marco
13
}
// fin de main
14
}
// fin de la clase DemoGridLayout
11.17 Administradores de esquemas
521
11_MAQ_CAP_11.indd521
4/19/081:26:22AM