Y-Axis Alignment : BoxLayout « Swing « Java Tutorial






Y-Axis Alignment
import java.awt.Component;
import java.awt.Container;
import java.awt.FlowLayout;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class YAxisAlignX {
  private static Container layoutComponents(String title, float alignment) {
    String labels[] = { "--", "----", "--------", "------------" };

    JPanel container = new JPanel();
    container.setBorder(BorderFactory.createTitledBorder(title));
    BoxLayout layout = new BoxLayout(container, BoxLayout.Y_AXIS);
    container.setLayout(layout);

    for (int i = 0, n = labels.length; i < n; i++) {
      JButton button = new JButton(labels[i]);
      button.setAlignmentX(alignment);
      container.add(button);
    }
    return container;
  }

  public static void main(String args[]) {
    JFrame frame = new JFrame("Alignment Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Container panel1 = layoutComponents("Left", Component.LEFT_ALIGNMENT);
    Container panel2 = layoutComponents("Center", Component.CENTER_ALIGNMENT);
    Container panel3 = layoutComponents("Right", Component.RIGHT_ALIGNMENT);
    frame.setLayout(new FlowLayout());
    frame.add(panel1);
    frame.add(panel2);
    frame.add(panel3);

    frame.pack();
    frame.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.