Los Layouts

   Hoy voy a explicar un poco acerca de los Layouts, muy pocas personas los utilizan y esto está mal, son una parte muy importante dentro del entorno de la programación. Supongamos que tenemos 3 elementos (botones, etiquetas, combos, etc) y queremos que se muestren de forma vertical, que tengan todos el ancho completo de la ventana, o que simplemente sean todos del mismo tamaño de acuerdo al tamaño del contenedor principal (ventana o frame).

Bien, antes de continuar debemos saber que es un Layout, esto es la estructura del diseño, la distribución del contenido. Si queremos que un botón este a la derecha y una referencia a la izquierda utilizamos un Layout definiendo la posición de dichos elementos, para esto existen. Veamos cuales son sus tipos y una breve descripción de como funcionan:

   AbsoluteLayout: define un tamaño fijo para los componentes, debemos indicar el tamaño y posición de coordenadas (x,y) para cada elemento, una vez hecho esto así cambiemos el tamaño de la ventana, maximicemos o cualquier otra cosa, los componentes no cambiaran, ni de tamaño, ni de posición.

   FlowLayout: nos coloca los elementos en fila, si el tamaño del contenedor no puede contenerlos todos en una linea, automaticamente nos ubica el siguiente componente debajo de la anterior.

   BoxLayout: su funcionamiento es muy similar al anterior, pero este tiene una característica especial, aparte de permitir posicionar los elementos en forma horizontal, también podemos hacerlo de forma vertical sin ningún.

   GridLayout: hace que todos los componentes dentro del contenedor ocupen el mismo tamaño en ambas dimensiones con el ancho y alto máximo permitido por el contenedor, es mas que todo utilizado en paneles donde se necesita que todos los botones sean del mismo tamaño, como por ejemplo una calculadora.

   BorderLayout: nos divide el contenedor en 5 partes (arriba, abajo, izquierda, derecha y centro), permitiendo posicionar los elementos en cualquiera de estos espacios. Es importante destacar que las secciones "arriba" y "abajo" estiraran los componentes al ancho máximo permitido, mientras que los otros solo se estiran según la cantidad de elementos que se le vayan agregando.

   CardLayout: es uno de los mas interesantes, pues hace que los componentes ocupen el máximo permitido pero a su vez que solo se muestre uno, es el Layout por defecto de un "Panel de Pestañas", donde según el elemento seleccionado se muestran "x" componentes y el resto se oculta, dejando sobrepuesto el seleccionado. Lo mas importante es que solo permite un solo elemento visible que queda sobrepuesto, el resto se oculta sobre el actual.

   SpringLayout: muy útil al momento de mostrar formularios. Permite posicionar la distancia entre cada elemento, en el debemos indicar cual sera la distancia entre un componente y otro, es decir, la etiqueta "nombre" estará a 3 pixeles del TextField, y así con cada uno. Lo malo de este Layout es definir el espaciado en cada componente, lo bueno es que tendremos (en caso de un formulario) un formulario que no se descuadra y donde tendremos todos los elementos bien posicionados.

   GroupLayout: es un poco complicado de explicar, pero básicamente consiste en que los componentes que se van agregando se alinea de forma vertical u horizontal, según el algoritmo que apliquemos. No es muy práctico el uso de este Layout, pero en caso de utilizarlo se debe definir el grupo de componentes a los cuales se aplicara en forma de objeto y luego setear el Layout.

   GridBagLayout: es uno de los mas complicados, pero su explicación esta muy bien redactada en las apis de Java, recomiendo este último solo cuando se amerite y sea necesario.

   Siempre podemos crear un Layout con nuestras propias características, pero esto es tema personalizado, es cuestion de gustos y necesidades. De cualquier forma en la documentación de Layouts nos explican como crear nuestro propio Layout.

2 Comentarios

Escribir Comentario
Andrés
AUTOR
15 de mayo de 2013, 22:02 delete

hola Carlitox! como hacer que mis aplicaciones se vean (las medidas del form por ej) exactamente como en la máquina en la que estoy desenvolviendo en otros sistemas operativos, me pasa también que cuando traslado mi sistema a otra máquina esta también pierde la forma en la que le definí .. no se si debo hacer una especie de captura de la resolución o algo .. si es que podrías contestarme en cuanto puedas ..

Responder
avatar
15 de mayo de 2013, 22:52 delete

Hola, no entiendo bien tu pregunta, pero por lo que dices ha de ser algun look and feel mas que un layout, explicate en un poco mejor para darte una mejor respuesta..... Saludos!!

Responder
avatar

Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión EmoticonEmoticon