Java examples for Swing:BoxLayout
Demonstrating BoxLayout.
import javax.swing.JFrame; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.Box; import javax.swing.JButton; import javax.swing.BoxLayout; import javax.swing.JPanel; import javax.swing.JTabbedPane; class BoxLayoutFrame extends JFrame { public BoxLayoutFrame() {//ww w . j a v a 2s .c o m Box horizontal1 = Box.createHorizontalBox(); Box vertical1 = Box.createVerticalBox(); Box horizontal2 = Box.createHorizontalBox(); Box vertical2 = Box.createVerticalBox(); final int SIZE = 3; // number of buttons on each Box // add buttons to Box horizontal1 for (int count = 0; count < SIZE; count++) horizontal1.add(new JButton("Button " + count)); // create strut and add buttons to Box vertical1 for (int count = 0; count < SIZE; count++) { vertical1.add(Box.createVerticalStrut(25)); vertical1.add(new JButton("Button " + count)); } // create horizontal glue and add buttons to Box horizontal2 for (int count = 0; count < SIZE; count++) { horizontal2.add(Box.createHorizontalGlue()); horizontal2.add(new JButton("Button " + count)); } // create rigid area and add buttons to Box vertical2 for (int count = 0; count < SIZE; count++) { vertical2.add(Box.createRigidArea(new Dimension(12, 8))); vertical2.add(new JButton("Button " + count)); } // create vertical glue and add buttons to panel JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); for (int count = 0; count < SIZE; count++) { panel.add(Box.createGlue()); panel.add(new JButton("Button " + count)); } // create a JTabbedPane JTabbedPane tabs = new JTabbedPane( JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); // place each container on tabbed pane tabs.addTab("Horizontal Box", horizontal1); tabs.addTab("Vertical Box with Struts", vertical1); tabs.addTab("Horizontal Box with Glue", horizontal2); tabs.addTab("Vertical Box with Rigid Areas", vertical2); tabs.addTab("Vertical Box with Glue", panel); add(tabs); } } public class Main { public static void main(String[] args) { BoxLayoutFrame boxLayoutFrame = new BoxLayoutFrame(); boxLayoutFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); boxLayoutFrame.setSize(400, 220); boxLayoutFrame.setVisible(true); } }