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,BorderLayoutinterprets 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,
BorderLayoutsupports the relative positioning constants,PAGE_START,PAGE_END,LINE_START, andLINE_END. In a container whoseComponentOrientationis set toComponentOrientation.LEFT_TO_RIGHT, these constants map toNORTH,SOUTH,WEST, andEAST, respectively.For compatibility with previous releases,
BorderLayoutalso includes the relative positioning constantsBEFORE_FIRST_LINE,AFTER_LAST_LINE,BEFORE_LINE_BEGINSandAFTER_LINE_ENDS. These are equivalent toPAGE_START,PAGE_END,LINE_STARTandLINE_ENDrespectively. 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
NORTHandPAGE_STARTconstants in a container whose orientation isLEFT_TO_RIGHT, only thePAGE_STARTwill be layed out.NOTE: Currently (in the Java 2 platform v1.2),
BorderLayoutdoes not support vertical orientations. TheisVerticalsetting on the container'sComponentOrientationis not respected.The components are laid out according to their preferred sizes and the constraints of the container's size. The
NORTHandSOUTHcomponents may be stretched horizontally; theEASTandWESTcomponents may be stretched vertically; theCENTERcomponent 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
BorderLayoutlayout 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
