Tenemos dos tipos de box layout: horizontal y vertical .

El horizontal pone los componentes de izquierda a derecha en un contenedor, en cambio el vertical los pone de arriba hacia abajo. A diferencia del GridLayout y Box Layout permite a los componetes ocupar diferentes espacios.

En este ejemplo se muestra como usar el BoxLayout del tipo vertical

Ejemplo tipo  box layout

import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.Component;
import javax.swing.WindowConstants;
import javax.swing.BoxLayout;

public class BoxLayoutEjemplo extends JFrame {

public BoxLayoutEjemplo() {

setTitle(“Ejemplo box Layout”);
setSize(150, 150);
getContentPane().setLayout(
new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));

JButton boton1 = new JButton(“Button 1”);
JButton boton2 = new JButton(“Button 2”);
JButton boton3 = new JButton(“Button 3”);
JButton boton4 = new JButton(“Button 4”);
getContentPane().add(boton1);
getContentPane().add(boton2);
boton1.setAlignmentX(Component.CENTER_ALIGNMENT);
getContentPane().add(boton3);
getContentPane().add(boton4);
}
public static void main(String[] args) {

BoxLayoutEjemplo ble = new BoxLayoutEjemplo();
ble.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
ble.setVisible(true);

}
}