69 lines
1.5 KiB
Java
69 lines
1.5 KiB
Java
Border layout demo
|
|
|
|
import java.awt.*;
|
|
import java.awt.event.*;
|
|
import javax.swing.*;
|
|
|
|
public class BorderLayoutDemo extends JFrame
|
|
implements ActionListener {
|
|
private JButton b[];
|
|
private String names[] =
|
|
{ "Hide North", "Hide South", "Hide East",
|
|
"Hide West", "Hide Center" };
|
|
private BorderLayout layout;
|
|
|
|
public BorderLayoutDemo()
|
|
{
|
|
super( "BorderLayout Demo" );
|
|
|
|
layout = new BorderLayout( 5, 5 );
|
|
|
|
Container c = getContentPane();
|
|
c.setLayout( layout );
|
|
|
|
// instantiate button objects
|
|
b = new JButton[ names.length ];
|
|
|
|
for ( int i = 0; i < names.length; i++ ) {
|
|
b[ i ] = new JButton( names[ i ] );
|
|
b[ i ].addActionListener( this );
|
|
}
|
|
|
|
// order not important
|
|
c.add( b[ 0 ], BorderLayout.NORTH ); // North position
|
|
c.add( b[ 1 ], BorderLayout.SOUTH ); // South position
|
|
c.add( b[ 2 ], BorderLayout.EAST ); // East position
|
|
c.add( b[ 3 ], BorderLayout.WEST ); // West position
|
|
c.add( b[ 4 ], BorderLayout.CENTER ); // Center position
|
|
|
|
setSize( 300, 200 );
|
|
show();
|
|
}
|
|
|
|
public void actionPerformed( ActionEvent e )
|
|
{
|
|
for ( int i = 0; i < b.length; i++ )
|
|
if ( e.getSource() == b[ i ] )
|
|
b[ i ].setVisible( false );
|
|
else
|
|
b[ i ].setVisible( true );
|
|
|
|
// re-layout the content pane
|
|
layout.layoutContainer( getContentPane() );
|
|
}
|
|
|
|
public static void main( String args[] )
|
|
{
|
|
BorderLayoutDemo app = new BorderLayoutDemo();
|
|
|
|
app.addWindowListener(
|
|
new WindowAdapter() {
|
|
public void windowClosing( WindowEvent e )
|
|
{
|
|
System.exit( 0 );
|
|
}
|
|
}
|
|
);
|
|
}
|
|
}
|