GridBagLayout

GRIDBAGLAYOUT

ž  Es igual que la composición de GridLayout, con la diferencia que los Componentes no necesitan tener el mismo tamaño.

ž  Está gobernado por un conjunto de propiedades que están interrelacionados entre sí. Los componentes se disponen en una matriz

¿Cómo funciona?

ž  Divide las filas y columnas según necesidades del usuario.

ž  Este Layout es fácilmente manipulable gracias a una clase auxiliar llamada GRIDBAGCONSTRAINTS.

ž  El GRIDBAGCONSTRAINTS nos ayudará a manipular las posiciones, tamaños, así como otros atributos que a continuación veremos.

GRIDX Y GRIDY

ž  Estos dos atributos especifican las coordenadas horizontal y vertical del componente que vamos a insertar en el grid.

ž  Realmente no siempre es necesario establecer su valor ya que en los casos más simples nos llegaría con gridwidth y gridheight, este atributo es recomendable ya que permite saber en que elemento nos encontramos de una manera más visual.

Propiedades

ž  GRIDWIDTH Y GRIDHEIGHT especifican el número de celdas horizontal y vertical que abarcará un componente.

ž  Además podemos utilizar los valores especiales REMAINDER y RELATIVE para indicar que un componente ha de ocupar todo el espacio restante o todo el espacio hasta el último componente.

ANCHOR

ž  Especifica la posición que ocupará un componente dentro de una celda.

ž   Los valores que puede tomar este atributo están definidos como variables estáticas dentro de la clase GridBagConstraints y son:

ž   NORTH, SOUTH, EAST, WEAST, NORTHWEST, SOUTHWEST, NORTHEAST, SOUTHEAST y CENTER.

ž  Indican la orientación de los componentes dentro de la celda que ocupan.

FILL

ž  Para hacer que un componente se estire, tenemos el atributo fill del GridBagConstraints. Este puede tomar los siguientes valores:

      GridBagConstraints.NONE para que no se estire en ningún sentido, es la opción por defecto.

      GridBagConstraints.VERTICAL para que se estire sólo en vertical

      GridBagConstraints.HORIZONTAL para que se estire sólo en horizontal.

      GridBagConstraints.BOTH para que se estire en ambas dimensiones.

      Si el componente no se estira en alguna dirección, podemos decirle por medio de anchor en GridBagConstraints qué posicion queremos que ocupe.

WEIGHTX Y WEIGHTY

ž  A medida que vamos añadiendo componentes a un contenedor el layout manager va determinando en función del tamaño de los componentes el espacio que ocupan las celdas.

ž  Los atributos WEIGHTX y WEIGHTY especifican el porcentaje de espacio libre que ocupará una celda determinada. En el ejemplo una vez añadidos los componentes queda una determinada cantidad de espacio libre tanto horizontal como vertical.

 

Escribe un comentario