viernes, 13 de julio de 2012

2.2.2 Manejadores de Espacio

Administradores del Espacio
En Java se hace uso de los administradores de espacio LayoutManager, para poder presentar una buena distribución de los elementos gráficos y no tener necesidad de estar preocupándose por el tamaño de los botones, textos, etc. A continuación explicamos los más utilizados comúnmente.
FlowLayout(). Esta clase es la que se define como administrador de espacio por default al hacer un applet y al añadir un elemento gráfico a la ventana del applet este se va creando de izquierda a derecha, de manera que se acomodan en la ventana.
Cuando se crea un applet se le puede definir que este es el Layout que se quiere con el método setLayout, ejemplo:
       setLayout( new FlowLayout());
Y de esta manera es como se van añadiendo los elementos en la ventana.
Todos los ejemplos que hemos hecho hasta ahora han utilizado este tipo de administrador de espacio.
GridLayout(). Esta clase permite que se definan elementos en la ventana a manera de renglones y columnas, como si fuera una cuadrícula, se definen el número de renglones y columnas y los espacios que se quiere dejar en píxeles entre los renglones y las columnas, cada vez que se añade algún elemento este aparece al lado derecho de la hilera en la que va, acomodándose por hilera, a continuación un ejemplo:
import java.awt.*;
import java.applet.*;
// <applet width="400" height="400" code="AppletInterfaz7"></applet>
public class AppletInterfaz7 extends Applet {
   Button b1, b2, b3, b4, b5;
   TextField t1, t2, t3, t4, t5;
   public AppletInterfaz7() {
      setLayout(new GridLayout(4, 3, 10, 10));
      t1 = new TextField("a");
      t2 = new TextField("b");
      t3 = new TextField("c");
      t4 = new TextField("d");
      t5 = new TextField("e");
      b1 = new Button("b1");
      b2 = new Button("b2");
      b3 = new Button("b3");
      b4 = new Button("b4");
      b5 = new Button("b5");
      add(t1);
      add(t2);
      add(t3);
      add(t4);
      add(t5);
      add(b1);
      add(b2);
      add(b3);
      add(b4);
      add(b5);
   }
}
El cual se visualiza:

De esta manera vemos como se van acomodando los elementos de 3 en 3 por renglón, teniendo 4 renglones y 3 columnas.
BorderLayout(). Este nos sirve para poner los elementos por zonas, teniendo el Centro, Sur, Norte, Este y Oeste. Cada vez que añadimos un elemento debemos decir a que lugar lo mandamos, de la siguiente manera: add(elemento, BorderLayout.NORTH), o en lugar de NORTH puede ser SOUTH, EASTH, WEST, o CENTER.
Un ejemplo de esto sería:
import java.awt.*;
import java.applet.*;
// <applet width="400" height="400" code="AppletInterfaz8"></applet>
public class AppletInterfaz8 extends Applet {
   Button b1, b2, b3;
   TextField t1, t2;
   public AppletInterfaz8() {
      setLayout(new BorderLayout());
      t1 = new TextField("a");
      t2 = new TextField("b");
      b1 = new Button("b1");
      b2 = new Button("b2");
      b3 = new Button("b3");
      add(t1, BorderLayout.NORTH);
      add(t2, BorderLayout.EAST);
      add(b1, BorderLayout.WEST);
      add(b2, BorderLayout.SOUTH);
      add(b3, BorderLayout.CENTER);
   }
}
En forma visual quedaría:
  
         
 
En el applet anterior se muestra como al cambiar de tamaño el applet los elementos gráficos se ajustan para esto, lo cual es una facilidad del Layout GridLayout y el BorderLayout.

No hay comentarios:

Publicar un comentario