Struts and Glue : BoxLayout « Swing « Java Tutorial






Struts and Glue
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
public class TryBoxLayout {
  public static void main(String[] args) {
    JFrame aWindow = new JFrame("This is a Box Layout");
    aWindow.setBounds(30, 30, 300, 300);
    aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // Create left column of radio buttons
    Box left = Box.createVerticalBox();
    left.add(Box.createVerticalStrut(30));
    ButtonGroup radioGroup = new ButtonGroup();
    JRadioButton rbutton;
    radioGroup.add(rbutton = new JRadioButton("Red"));
    left.add(rbutton);
    left.add(Box.createVerticalStrut(30));
    radioGroup.add(rbutton = new JRadioButton("Green"));
    left.add(rbutton);
    left.add(Box.createVerticalStrut(30));
    radioGroup.add(rbutton = new JRadioButton("Blue"));
    left.add(rbutton);
    left.add(Box.createVerticalStrut(30));
    radioGroup.add(rbutton = new JRadioButton("Yellow"));
    left.add(rbutton);
    Box right = Box.createVerticalBox();
    right.add(new JCheckBox("A"));
    right.add(new JCheckBox("B"));
    right.add(new JCheckBox("C"));
    Box top = Box.createHorizontalBox();
    top.add(left);
    top.add(right);
    Container content = aWindow.getContentPane();
    content.setLayout(new BorderLayout());
    content.add(top, BorderLayout.CENTER);
    aWindow.pack();
    aWindow.setVisible(true);
  }
}








14.87.BoxLayout
14.87.1.Using a BoxLayout ManagerUsing a BoxLayout Manager
14.87.2.Creating a BoxLayoutCreating a BoxLayout
14.87.3.A Simple BoxLayout TestA Simple BoxLayout Test
14.87.4.Struts and GlueStruts and Glue
14.87.5.Y-Axis AlignmentY-Axis Alignment
14.87.6.X-Axis AlignmentX-Axis Alignment
14.87.7.Drawing Borders Within a BoxLayout-Managed ContainerDrawing Borders Within a BoxLayout-Managed Container
14.87.8.Separating Components in a Row or Column
14.87.9.Glue spreads the components as far apart as possible.
14.87.10.Strut spreads the components apart by a fixed distance
14.87.11.Laying Out Components in a Row or Column
14.87.12.A vertical box container arranges the components top-to-bottom aligned in their preferred sizes.
14.87.13.Vertical BoxLayout-managed container
14.87.14.Align your components in horizontal or vertical layout
14.87.15.BoxLayout: set a rigid area among our components.