Internamente la herramienta emplea el mecanismo de Java para disponer los elementos llamado Layout, distribución o diseño. Swing dispone de ocho tipos de distribuciones:
BoderLayout
: aloja los componentes en los límites del formulario, por lo que cuando los colocamos debemos indicar si van al norte, sur este u oeste.GridLayout
: Diseña mediante una rejilla, en la que los componentes se organizan por filas y columnas.GridBagLayout
: semejante aGridLayout
, pero permite a un componente que ocupe más de una celda.CardLayout
: diseño por paneles. Permite la colocación de distintos componentes en momentos distintos de la ejecución.BoxLayout
: diseño en caja. Coloca los componentes en una fila o columna ajustándose al espacio que haya.FlowLayout
: diseña alojando los componentes de izquierda a derecha mientras quede espacio, si no queda pasa a la fila siguiente.GroupLayout
: se creó para ser utilizado en herramientas de diseño gráfico de interfaces. Trabaja por separado la distribución vertical y horizontal para definir exactamente el posicionamiento de los componentes. Se utiliza en NetBeans.SpringLayout
: es muy flexible y se usa también para herramientas de diseño gráfico de interfaces. En este caso se especifican las relaciones entre los límites de los componentes bajo su control.
Programar el diseño de un formulario es una de las tareas más arduas en Java, si bien está ampliamente superado gracias al uso de IDEs que facilitan la colocación de componentes a golpe de ratón y sin necesidad de escribir código. Por ejemplo, NetBeans, usa el diseño GroupLayout
.