Credits

Saturday, September 11, 2010

Java's Border Layout with Event Handling

Layout managers in Java can be used to manipulate placement of components (i.e buttons, labels, text fields, and others). There are about  six (6) containers which include FlowLayout, BorderLayout, BoxLayout, GridLayout, CardLayout, and GridBagLayout.

If your design includes use of different regions (North, South, East, West, and Center) or at least, few of these regions,  then, use a BorderLayout instead. Below is an example of this layout with event methods whenever a button in a specific region is clicked on.

[+/-] 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