Java tutorial
import java.awt.Color; import java.awt.Component; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class BoxLayoutDemo { private static JComponent createComponent(String s) { JLabel l = new JLabel(s); l.setBorder(BorderFactory.createMatteBorder(5, 5, 5, 5, Color.DARK_GRAY)); l.setHorizontalAlignment(JLabel.CENTER); l.setAlignmentX(Component.CENTER_ALIGNMENT); //use middle of row return l; } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.PAGE_AXIS)); p.add(createComponent("Component 1")); p.add(Box.createVerticalGlue()); p.add(createComponent("Component 2")); p.add(createComponent("Component 3")); p.add(createComponent("Component 4")); frame.setContentPane(p); //Display the window. frame.pack(); frame.setVisible(true); } }