Cuando estamos haciendo proyectos visuales, dónde se colocan los diferentes elementos visuales, tamaño y posición respecto el espacio de visualización es muy muy importante para que nuestra aplicación responda a nuestras expectativas, además de que la experiencia de usuario sea perfecta.
Para ello, Java, dispone de diferentes gestores con los que nuestros elementos se comportarán de una forma u otra. Los más importantes podríamos decir que son:
- BorderLayout, donde los elementos se colocan directamente en 5 posiciones.
- BoxLayout y FlowLayout, donde los elementos se colocan bien en columnas o filas, de forma automática o no dependiendo del gestor utilizado.
- GidLayouut y GridBagLayout, donde los elementos se disponen en una matriz.
- CardLayout, donde diferentes pantallas se muestran/ocultan en diferentes momentos del tiempo
BorderLayout
Uno de los Layouts más utilizados y sencillos de implementar es el BorderLayout. Este tipo de Layout nos permite principalmente colocar nuestros elementos en 5 zonas: NORTE, SUR, ESTE, OESTE y CENTRO.
Como se puede observar es una disposición muy similar a lo que podría representar cualquier ventana de una aplicación cualquiera, donde en el NORTE tendríamos nuestro menú, en el SUR nuestros elementos de avisos o información, y en la parte central los elementos principales y lógicos de la aplicación.
Avanzando en el uso de los Layouts, nos encontramos con un Layout no tan sencillo, pero por otro lado de una utilidad grandísima. Cuando nos planteamos la realización de una aplicación un poco más grande, se nos presenta la disyuntiva de utilizar múltiples ventanas, o bien una única ventana que gestione las diferentes ventanas (evidentemente, no todo es blanco o negro, y que se nos darán infinidad de casos entre ambas situaciones).
Para la gestión de dichas partes de nuestra aplicación donde tenemos una única ventana gestionando diferentes lógicas de desarrollo, tenemos en layout CardLayout.
Para la gestión de dichas partes de nuestra aplicación donde tenemos una única ventana gestionando diferentes lógicas de desarrollo, tenemos en layout CardLayout.