Layouts de Java Swing

En este post vamos a echar un vistazo a los tipos de Layouts básicos que nos podemos encontrar a la hora de trabajar con Java Swing. Ya sabemos que las librerías Swing no se utilizan en proyectos de nueva creación, así que simplemente mantengamos esta información disponible para cuando nos toque adaptar algún sistema clásico. Puede que estéis 10 años sin necesitar la documentación, pero lo más probable es que tarde o temprano tengáis que recurrir a ella. Hace algunas semanas estuvimos revisando las Ventanas y los Componentes Swing, así que ahora vamos a completar dicha información hablando sobre los Layouts Swing. 

 


 

¿Y qué son los Layouts Swing? Bueno, realmente es un concepto que no tiene mucho misterio. Los Layouts o Disposiciones de Java Swing son las diferentes tipologías de estructuras con las que podemos disponer los Componentes Swing en la interfaz gráfica. Básicamente, los permiten organizar los objetos en las ventanas para que se muestren de la forma requerida por el usuario.


Layouts de Java Swing


En Java Swing tenemos decenas de Layouts para organizar los componentes, pero ahora vamos a centrarnos en los que considero que son las Disposiciones más básicas. Son las siguientes:


* FlowLayout: Esta es la disposición por defecto de Java Swing. Aquí simplemente los componentes se van organizando uno a continuación del otro.

* BorderLayout: Divide la ventana en 5 zonas y permite ir ubicando los componentes en cada una de ellas. Las zonas se denominan: NORTH, SOUTH, CENTER, EAST y WEST.


* GridLayout: Sirve para dividir la ventana de una matriz de N filas y M columnas. Nos permitirá ir ubicando un componente en una celda concreta de la cuadrícula.


 * GridBagLayout: Sirve para establecer una cuadrícula en la ventana en la que cada fila y cada columna puede tener un número diferente de celdas.


 * SpringLayout: Esta disposición nos permitirá que dos componentes se comporten como si entre ellos se hubiese establecido un muelle. Tendremos que definir las características del muelle que sirve para unir ambos componentes.

* BoxLayout: Nos permite ir ubicando componentes dentro de una caja (virtual). La alineación podrá ser horizontal o vertical y los componentes se irán organizando uno a continuación del otro.

* CardLayout: esta disposición se utiliza cuando queremos que un contenedor (una zona de la ventana) permita visualizar distintos componentes en la misma ubicación, pero que únicamente uno de ellos sea visible en un momento dado (cada uno se mostrará a partir de un evento diferente). Dicho de otro modo, trata cada componente como una tarjeta en el contenedor, sólo se ve una tarjeta a la vez y el contenedor actúa como una pila de tarjetas.

* GroupLayout: esta disposición sirve para agrupar jerárquicamente los componentes y para organizarlos dentro de un contenedor. Según la organización interna de los componentes, hablaremos de grupo secuencial o de grupo paralelo.

 

👉 Por supuesto, existen Layouts adicionales en Java Swing, pero la verdad es que los mencionados anteriormente pueden considerarse como los más básicos. En la mayoría de las aplicaciones que implementan Java Swing, las ventanas están organizadas con FlowLayout, BorderLayout y GridLayout, así que con la lista anterior tendremos de sobra para un mantenimiento estándar del proyecto. En cualquier caso, a partir de lo revisado hoy, no nos debería resultar difícil ampliar nuestro conocimiento a un tipo de Layout algo más complejo.

 

Pues nada, eso es todo lo que quería comentaros en relación con los Layouts básicos de la biblioteca Swing. Como vemos, se trata de un concepto de trabajo mucho más sencillo de lo que puede parecer en una primera impresión. Por cierto, cualquier duda que tengáis, dejadmela aquí abajo...

Saludos.


Comentarios

Entradas populares de este blog

Componentes y Ventanas de Java Swing

Creación de Webservice SOAP básico

Fichero standalone del Servidor JBoss EAP