// BoxLayoutDemo.java
// Demonstrating BoxLayout.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class BoxLayoutDemo extends JFrame {
public BoxLayoutDemo()
{
super( "Demostrating BoxLayout" );
final int SIZE = 3;
Container c = getContentPane();
c.setLayout( new BorderLayout( 30, 30 ) );
Box boxes[] = new Box[ 4 ];
boxes[ 0 ] = Box.createHorizontalBox();
boxes[ 1 ] = Box.createVerticalBox();
boxes[ 2 ] = Box.createHorizontalBox();
boxes[ 3 ] = Box.createVerticalBox();
// add buttons to boxes[ 0 ]
for ( int i = 0; i < SIZE; i++ )
boxes[ 0 ].add( new JButton( "boxes[0]: " + i ) );
// create strut and add buttons to boxes[ 1 ]
for ( int i = 0; i < SIZE; i++ ) {
boxes[ 1 ].add( Box.createVerticalStrut( 25 ) );
boxes[ 1 ].add( new JButton( "boxes[1]: " + i ) );
}
// create horizontal glue and add buttons to boxes[ 2 ]
for ( int i = 0; i < SIZE; i++ ) {
boxes[ 2 ].add( Box.createHorizontalGlue() );
boxes[ 2 ].add( new JButton( "boxes[2]: " + i ) );
}
// create rigid area and add buttons to boxes[ 3 ]
for ( int i = 0; i < SIZE; i++ ) {
boxes[ 3 ].add(
Box.createRigidArea( new Dimension( 12, 8 ) ) );
boxes[ 3 ].add( new JButton( "boxes[3]: " + i ) );
}
// create horizontal glue and add buttons to panel
JPanel panel = new JPanel();
panel.setLayout(
new BoxLayout( panel, BoxLayout.Y_AXIS ) );
for ( int i = 0; i < SIZE; i++ ) {
panel.add( Box.createGlue() );
panel.add( new JButton( "panel: " + i ) );
}
// place panels on frame
c.add( boxes[ 0 ], BorderLayout.NORTH );
c.add( boxes[ 1 ], BorderLayout.EAST );
c.add( boxes[ 2 ], BorderLayout.SOUTH );
c.add( boxes[ 3 ], BorderLayout.WEST );
c.add( panel, BorderLayout.CENTER );
setSize( 350, 300 );
show();
}
public static void main( String args[] )
{
BoxLayoutDemo app = new BoxLayoutDemo();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BoxWindow extends JFrame {
boolean inAnApplet = true;
public BoxWindow() {
Container contentPane = getContentPane();
contentPane.setLayout(new BoxLayout(contentPane,
BoxLayout.Y_AXIS));
addAButton("Button 1", contentPane);
addAButton("2", contentPane);
addAButton("Button 3", contentPane);
addAButton("Long-Named Button 4", contentPane);
addAButton("Button 5", contentPane);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (inAnApplet) {
dispose();
} else {
System.exit(0);
}
}
});
}
private void addAButton(String text, Container container) {
JButton button = new JButton(text);
button.setAlignmentX(Component.CENTER_ALIGNMENT);
container.add(button);
}
public static void main(String args[]) {
BoxWindow window = new BoxWindow();
window.inAnApplet = false;
window.setTitle("BoxLayout");
window.pack();
window.setVisible(true);
}
}
Maintained by John Loomis, last updated 20 June 2000