FlowLayout

De ChuWiki
Saltar a: navegación, buscar

Ejemplo con FlowLayout

Un Layout simple de usar el el FlowLayout. Coloca todos los componentes que le añadimos alineados de izquierda a derecha, haciendo que cada uno ocupe lo que necesita.

Si hay hueco de sobra en horizontal, los componentes apareceran centrados. Si falta hueco, los componentes se partirán automáticamente en varias filas.

El siguiente código de ejemplo crea una ventana con varios componentes en un FlowLayout

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class PruebaFlowLayout {
	public static void main (String [] args)
	{
		JFrame v = new JFrame();

                // Se pone el FlowLayout en la ventana
		v.getContentPane().setLayout(new FlowLayout());

                // Se instancian los componentes
		JButton boton = new JButton("boton");
		JTextField textField = new JTextField(10);
		JCheckBox checkBox = new JCheckBox("check box");
		JLabel etiqueta = new JLabel("Etiqueta");
		
                // Se añaden los componentes a la ventana
		v.getContentPane().add(boton);
		v.getContentPane().add(textField);
		v.getContentPane().add(checkBox);
		v.getContentPane().add(etiqueta);
		
                // Se muestra la ventana
		v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
                // pack() hace que la ventana coja el tamaño necesario para mostrar
                // los componentes que hay en ella.
		v.pack();
		v.setVisible(true);
	}
}

Puedes jugar a estirar y encoger la ventana para ver su comportamiento.

En el constructor de FlowLayout se pueden poner cosas como si se quiere que los componentes estén centrados (por defecto), pegados al lado izquierdo o al lado derecho. También es posible indicar la separación en pixels que se quiere entre componentes.

Puedes reemplazar el new FlowLayout() del código anterior por este

new FlowLayout(FlowLayout.RIGHT,40,40)

y verás que ahora los componentes están más separados y se pegan al lado derecho.