Cómo usar FlowLayout

La clase FlowLayout proporciona un controlador de distribución muy sencillo, que es usado por defecto por los JPanels. Aquí tenemos un applar que muestra un flowlayout en acción:

Pulsa sobre la imagen para ejecutar el applet.
Esta es una imagen del GUI del applet, para ejecutarlo, pulsa sobre ella y el applet aparecerá en una nueva ventana del navegador.

FlowLayout pone los componentes en un fila, domensionados a su tamaño preferido. Si el espacio horizontal del contenedor es demasiado pequeño para poner todos los componentes en un fila, FlowLayout usa múltiples filas. Dentro de cada fila, los componentes están centrados (por defecto), alineados a la izquierda o a la derecha como se especifica al crear el FlowLayout.

Abajo tenemos el código que crea el FlowLayout y los componentes que maneja. (Aquí está el programa completo. El programa corre como un applet, con la ayuda de AppletButton, o como una aplicación.)

Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
contentpane.setFont(new Font("Helvetica", Font.PLAIN, 14));
   
contentPane.add(new JButton("Button 1"));
contentPane.add(new JButton("2"));
contentPane.add(new JButton("Button 3"));
contentPane.add(new JButton("Long-Named Button 4"));
contentPane.add(new JButton("Button 5"));
La clase FlowLayout tiene tres constructores:
public FlowLayout()
public FlowLayout(int alignment)
public FlowLayout(int alignment,
                  int horizontalGap, int verticalGap)
El argumento alignment debe tener el valor FlowLayout.LEFT, FlowLayout.CENTER, o FlowLayout.LEFT. Los argumentos horizontalGap y verticalGap especifican el número de pixels entre componentes. Si no especificamos ningún valor, FlowLayout utiliza 5 como valor por defecto.

Ejemplos que usan FlowLayout

La siguiente tabla lista algunos de los ejemplos que usan flow layout.

Ejemplo Dónde se describe Notas
FlowWindow.java Esta página Inicializa un panel de contenido para usar FlowLayout.
ButtonDemo.java Cómo usar Buttons Usa el FlowLayout por defecto para un JPanel.


Ozito