Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Using a BoxLayout Manager

Arranges components either in a row or in a column. Box class offers a container that uses BoxLayout as its default layout manager. BoxLayout works to honor each component's x and y alignment properties as well as its maximum size. The BoxLayout class has only one constructor: public BoxLayout(java.awt.Container target, int axis) 'target' argument specifies the container that needs to be laid out. 'axis' specifies the axis to lay out components along. The value of axis can be one of the following: BoxLayout.X_AXIS BoxLayout.Y_AXIS BoxLayout.LINE_AXIS BoxLayout.PAGE_AXIS import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BoxLayoutTest {   public static void main(String[] args) {     JFrame.setDefaultLookAndFeelDecorated(true);     JFrame frame = new JFrame("BoxLayout Test");     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     BoxLayout boxLayout = new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS); // top to bottom     frame.setLayout(boxLayout);     frame.add(new JButton("Button 1"));     frame.add(new JButton("Button 2"));     frame.add(new JButton("Button 3"));     frame.pack();     frame.setVisible(true);   } } 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();     ButtonGroup radioGroup = new ButtonGroup();     JRadioButton rbutton;     radioGroup.add(rbutton = new JRadioButton("Red"));     left.add(rbutton);     radioGroup.add(rbutton = new JRadioButton("Green"));     left.add(rbutton);     radioGroup.add(rbutton = new JRadioButton("Blue"));     left.add(rbutton);     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);   } }