Credits

Sunday, February 27, 2011

Java's Border Layout

In my previous post on Layout Manager,  Java has different layout managers that can be used to control the placement and sizes of components inside a container.

One interesting layout manager is the Border Layout of Java. If you need different regions like NORTH, SOUTH, CENTER, WEST and EAST, Border Layout is preferred.

Since we can have containers within containers, a container with border layout may also have another container with border layout.

With components in containers, we can also include events. Thus, the program below integrated window and action events in border layout container.
[+/-] show/hide


import java.awt.*;
import java.awt.event.*;

public class BorderLayoutEvents extends Frame implements WindowListener,ActionListener {

Button b1,b2,b3,b4,b5;

public BorderLayoutEvents(String title) {

super(title);
setLayout(new BorderLayout());
addWindowListener(this);
b1 = new Button("North");
add(b1, BorderLayout.NORTH);
b1.addActionListener(this);

b2 = new Button("West");
add(b2, BorderLayout.WEST);
b2.addActionListener(this);

b3 = new Button("Center");
add(b3, BorderLayout.CENTER);
b3.addActionListener(this);

b4 = new Button("East");
add(b4, BorderLayout.EAST);
b4.addActionListener(this);

b5 = new Button("South");
add(b5, BorderLayout.SOUTH);
b5.addActionListener(this);
}

public void actionPerformed(ActionEvent e){
remove((Component)e.getSource());
validate();
}

public static void main(String[] args) {

BorderLayoutEvents myWindow = new BorderLayoutEvents("Border Layout");
myWindow.setSize(250,150);
myWindow.setVisible(true);

}


public void windowActivated(WindowEvent arg0) {
}

public void windowClosed(WindowEvent arg0) {
}

public void windowClosing(WindowEvent arg0) {
dispose();
System.exit(0);
}

public void windowDeactivated(WindowEvent arg0) {
}

public void windowDeiconified(WindowEvent arg0) {
}

public void windowIconified(WindowEvent arg0) {
}

public void windowOpened(WindowEvent arg0) {
}

}

AddThis