Esta lección da algunas reglas generales para el uso de los controladores de disposición, le ofrece una introducción a los controladores de disposición proporcionados por el AWT, y cuenta cómo utilizar cada uno de ellos. En estas páginas encontrarás applets que ilustran los controladores de disposición. Cada applet trae una ventana que se puede redimensionar para ver los efectos del cambio de tamaño en la disposición de los componentes.
Esta sección responde algunas de las preguntas más frecuentes sobre los controladores de disposición:
- ¿Cómo puedo elegir un controlador de disposición?
- ¿Cómo puedo crear un controlador de disposición asociado con un contenedor, y decirle que empiece a trabajar?
- ¿Cómo sabe un controlador de disposición los componentes que debe manejar?
BorderLayout es el controlador de disposición por defecto para todas las ventanas, como Frames y Cuadros de Diálogo. Utiliza cinco áreas para contener los componentes: north, south, east, west, and center (norte, sur, este, oeste y centro). Todo el espacio extra se sitúa en el área central. Aquí tienes un applet que sitúa un botón en cada área.
Utiliza la clase CardLayout cuando tengas un área que pueda contener diferentes componentes en distintos momentos. Los CardLayout normalmente son controlados por un objeto Choice, con el estado del objeto, se determina que Panel (grupo de componentes) mostrará el CardLayout. Aquí tienes un applet que utiliza un objeto Choice y un CardLayout de esta forma.
FlowLayout es el controlador por defecto para todos los Paneles. Simplemente coloca los componentes de izquierda a derecha, empezando una nueva línea si es necesario. Los dos paneles en el applet anterior utilizan FlowLayout. Aquí tienes otro ejemplo de applet que utiliza un FlowLayout.
GridLayout simplemente genera un razimo de Componentes que tienen el mismo tamaño, mostrándolos en una sucesión de filas y columnas. Aquí tienes un applet que utiliza un GridLayout para controlar cinco botones.
GridBagLayout es el más sofisticado y flexible controlador de disposición proporcionado por el AWT. Alínea los componentes situándolos en una parrilla de celdas, permitiendo que algunos componentes ocupen más de una celda. Las filas de la parrilla no tienen porque ser de la misma altura; de la misma forma las columnas pueden tener diferentes anchuras. Aquí tiene un applet que utiliza un GridBagLayout para manejar diez botones en un panel.