Anidando paneles


Vamos a empezar retomando nuestro ejemplo anterior (la calculadora) los componentes aparecían en el orden en el que fueron añadidos, de izquierda a derecha y de arriba a abajo. Recordemos el código fuente:


public class calculador extends Applet {
	....
	private void jbInit() throws Exception {
		....
		add( t_n1 );	// Campo de texto para operando 1
		add( t_n2 );	// Campo de texto para operando 2
		add( t_res );	// Campo de texto para el resultado
		add(lista);	// Lista de operaciones
		add( bot );	// Botón
	}
}

El applet es:



Acabamos de aprender el uso de administradores de diseño. Es un paso importante, pero en el desarollo de applets usualmente precisamos anidar paneles. Un panel es un contenedor que sirve como soporte o fondo visual de los contenedores. Anidar paneles significa que un panel sea una parte de otro panel, es decir un panel, que es un contenedor o Container de otro panel. Para comprender bien lo que significa vamos a empezar por nuestro objetivo, mejorar el aspecto del el applet calculador que hemos visto en capítulos anteriores:





La organización viene dada por:

  1. Un administrador de diseño BordeLayout para el applet (todo applet es un tipo de Panel):
    
        private void jbInit() throws Exception {
    	setLayout( new BorderLayout( ) );
    	....
        }
    
  2. En la zona NORTH del BordeLayout pondremos un panel (panel_sup) con un administrador de diseño GridLayout, este panel superior contiene los campos de texto para operandos y resultado:
      
      
    1. private void jbInit() throws Exception {
    2. this.setLayout( new BorderLayout( ) ); ....
    3. panel_sup.setLayout( new GridLayout(1,3) );
    4. add( panel_sup, BorderLayout.NORTH );
    5. panel_sup.add( t_n1 );
    6. panel_sup.add( t_n2 );
    7. panel_sup.add( t_res );
    8. add(lista, BorderLayout.CENTER);
    9. add( bot, BorderLayout.SOUTH ); }
    • En (2) definimos que el applet tenga un BorderLayout.
    • En (3) definimos que el atributo Panel panel_sup tenga un GridLayout.
    • En (4) se produce el anidamiento: añadimos el panel panel_sup al applet.
    • En (5-7) se añaden los campos de texto a panel_sup.
    • Por último (8-9) añadimos la lista y el botón al applet.

Observa que los campos de texto (t_n1, t_n2 y t_res) se han añadido al subpanel (panel_sup) que tiene un administrador GridLayout. En resumen:








Volver al índice