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