Logo Grupo Codesi

Layouts en Java

Tipos de Layouts en Java

layouts en java

La portabilidad de Java a distintas plataformas y distintos sistemas operativos necesita flexibilidad a la hora de situar los Components (Buttons, Canvas, TextAreas, etc.) en un Container (Window, Panel, …). Un Layout Manager es un objeto que controla cómo los Components se sitúan en un Container.

El AWT define cinco Layouts en Java Managers: dos muy sencillos (FlowLayout y GridLayout), dos más especializados (BorderLayout y CardLayout) y uno muy general (GridBagLayout). Además, los usuarios pueden escribir su propio Layout Manager, implementando la interface LayoutManager, que especifica 5 métodos. Layouts en Java permite también posicionar los Components de modo absoluto, sin Layout Manager, pero de ordinario puede perderse la portabilidad y algunas otras características.

Todos los Containers tienen un Layout Manager por defecto, que se utiliza si no se indica otra cosa: Para Panel, el defecto es un objeto de la clase FlowLayout. Para Window (Frame y Dialog), el defecto es un objeto de la clase BorderLayout. Para integrar estos elementos en nuestros sistemas java es importante tener buenas bases para ello dejamos este curso de java presencial y 100% práctico en la CDMX.

flowlayout en java

FlowLayout

Los componentes se van añadiendo de izda a dcha y de arriba hacia abajo. Se puede elegir alineación por la izquierda, centrada o por la derecha, respecto al container. El BorderLayout: el container se divide en 5 zonas: North, South, East, West y Center (que ocupa el resto de espacio). El GridLayout utiliza una matriz de celdas que se numeran como se muestra en dicha figura (de izda a dcha y de arriba a abajo). El GridBagLayout. Se utiliza también una matriz de celdas, pero permitiendo que algunos componentes ocupen más de una celda. El CardLayout permite que el mismo espacio sea utilizado sucesivamente por contenidos diferentes.

manager layout

LayoutManagers

Se debe elegir el Layout Manager que mejor se adecúe a las necesidades de la aplicación que se desea desarrollar. Recuérdese que cada Container tiene un Layout Manager por defecto. Si se desea utilizar el Layout Manager por defecto basta crear el Container (su constructor crea un objeto del Layout Manager por defecto e inicializa el Container para hacer uso de él).
Para utilizar un Layout Manager diferente hay que crear un objeto de dicho Layout Manager y pasárselo al constructor del container o decirle a dicho container que lo utilice por medio del método setLayout(), en la forma:
unContainer.setLayout(new GridLayout());
Si se cambia de modo indirecto el tamaño de un Component (por ejemplo cambiando el tamaño del Font), hay que llamar al método invalidate() del Component y luego al método validate() del Container, lo que hace que se ejecute el método doLayout() para reajustar el espacio disponible.

Para conocer prácticamente estos elementos dejamos este curso de java donde podrás aprender paso a paso.

metodos de los layouts

Métodos container

Dentro del container tenemos add(): permite añadir Components a un Container, remove() y removeAll(): permiten eliminar Components de un Container, doLayout(), validate() doLayout() se llama automáticamente cada vez que hay que redibujar el Container y sus Components, se llama también cuando el usuario llama al método validate()

Articulos Relacionados a la tecnología Java

Seguridad de Java Java para Android Applets Java Juegos en Java Web Services Java Servidor Java Java 8 Fundamentos de Java 8 Graficos en AWT Animaciones Java Programas Multitarea
Diplomado Java

Diseño de paginas Web Grupo Codesi