Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Creating Rigid Areas

Struts can be two-dimensional, requiring you to specify the width and height of the component; Or, they can be one-dimensional, requiring you to specify either the width or height. public static Component createRigidArea(Dimension dimension) // Two-dimensional Component rigidArea = Box. createRigidArea(new Dimension(10, 10)); aBox.add(rigidArea); public static Component createHorizontalStrut(int width) // One-dimensional: horizontal Component horizontalStrut = Box. createHorizontalStrut(10); aBox.add(horizontalStrut); public static Component createVerticalStrut(int height) // One-dimensional: vertical Component verticalStrut = Box. createVerticalStrut(10); aBox.add(verticalStrut); import java.awt.GridLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class BoxLayoutGlueStrutCompare extends JFrame {   public BoxLayoutGlueStrutCompare() {     JPanel p = new JPanel(new GridLayout(3, 1));     JPanel p1 = new JPanel();     Box box1 = new Box(BoxLayout.X_AXIS);     box1.add(Box.createHorizontalGlue());     box1.add(new JButton("glue-strut"));     box1.add(Box.createHorizontalStrut(15));     box1.add(new JButton("strut-glue"));     box1.add(Box.createHorizontalGlue());     p1.add(box1);     p1.setBorder(BorderFactory.createRaisedBevelBorder());     JPanel p2 = new JPanel();     Box box2 = new Box(BoxLayout.X_AXIS);     box2.add(Box.createHorizontalStrut(25));     box2.add(new JButton("strut-glue"));     box2.add(Box.createHorizontalGlue());     box2.add(new JButton("glue-strut"));     box2.add(Box.createHorizontalStrut(25));     p2.add(box2);     p2.setBorder(BorderFactory.createRaisedBevelBorder());     JPanel p3 = new JPanel();     Box box3 = new Box(BoxLayout.X_AXIS);     box3.add(Box.createHorizontalStrut(25));     box3.add(new JButton("strut-glue"));     box3.add(Box.createHorizontalGlue());     box3.add(new JButton("glue-glue"));     box3.add(Box.createHorizontalGlue());     p3.add(box3);     p3.setBorder(BorderFactory.createRaisedBevelBorder());     p.add(p1);     p.add(p2);     p.add(p3);     getContentPane().add(p);     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     pack();   }   public static void main(String[] args) {     BoxLayoutGlueStrutCompare ex1 = new BoxLayoutGlueStrutCompare();     ex1.setVisible(true);   } }