Class BorderLayout
- java.lang.Object
-
- java.awt.BorderLayout
-
- All Implemented Interfaces:
- LayoutManager, LayoutManager2, java.io.Serializable
public class BorderLayout extends java.lang.Object implements LayoutManager2, java.io.SerializableA border layout lays out a container, arranging and resizing its components to fit in five regions: north, south, east, west, and center. Each region may contain no more than one component, and is identified by a corresponding constant:NORTH
,SOUTH
,EAST
,WEST
, andCENTER
. When adding a component to a container with a border layout, use one of these five constants, for example:Panel p = new Panel(); p.setLayout(new BorderLayout()); p.add(new Button("Okay"), BorderLayout.SOUTH);
As a convenience,BorderLayout
interprets the absence of a string specification the same as the constantCENTER
:Panel p2 = new Panel(); p2.setLayout(new BorderLayout()); p2.add(new TextArea()); // Same as p.add(new TextArea(), BorderLayout.CENTER);
In addition,
BorderLayout
supports the relative positioning constants,PAGE_START
,PAGE_END
,LINE_START
, andLINE_END
. In a container whoseComponentOrientation
is set toComponentOrientation.LEFT_TO_RIGHT
, these constants map toNORTH
,SOUTH
,WEST
, andEAST
, respectively.For compatibility with previous releases,
BorderLayout
also includes the relative positioning constantsBEFORE_FIRST_LINE
,AFTER_LAST_LINE
,BEFORE_LINE_BEGINS
andAFTER_LINE_ENDS
. These are equivalent toPAGE_START
,PAGE_END
,LINE_START
andLINE_END
respectively. For consistency with the relative positioning constants used by other components, the latter constants are preferred.Mixing both absolute and relative positioning constants can lead to unpredicable results. If you use both types, the relative constants will take precedence. For example, if you add components using both the
NORTH
andPAGE_START
constants in a container whose orientation isLEFT_TO_RIGHT
, only thePAGE_START
will be layed out.NOTE: Currently (in the Java 2 platform v1.2),
BorderLayout
does not support vertical orientations. TheisVertical
setting on the container'sComponentOrientation
is not respected.The components are laid out according to their preferred sizes and the constraints of the container's size. The
NORTH
andSOUTH
components may be stretched horizontally; theEAST
andWEST
components may be stretched vertically; theCENTER
component may stretch both horizontally and vertically to fill any space left over.Here is an example of five buttons in an applet laid out using the
BorderLayout
layout manager:The code for this applet is as follows:
import java.awt.*; import java.applet.Applet; public class buttonDir extends Applet { public void init() { setLayout(new BorderLayout()); add(new Button("North"), BorderLayout.NORTH); add(new Button("South"), BorderLayout.SOUTH); add(new Button("East"), BorderLayout.EAST); add(new Button("West"), BorderLayout.WEST); add(new Button("Center"), BorderLayout.CENTER); } }
- Since:
- JDK1.0
- See Also:
Container.add(String, Component)
,ComponentOrientation
, Serialized Form