java.awt
Class BorderLayout

java.lang.Object
  extended by java.awt.BorderLayout
All Implemented Interfaces:
LayoutManager, LayoutManager2, Serializable

public class BorderLayout
extends Object
implements LayoutManager2, Serializable

This class implements a layout manager that positions components in certain sectors of the parent container.

See Also:
Serialized Form

Field Summary
static String AFTER_LAST_LINE
          The constant indicating the position after the last line of the layout.
static String AFTER_LINE_ENDS
          The constant indicating the position after the last item of the layout.
static String BEFORE_FIRST_LINE
          The constant indicating the position before the first line of the layout.
static String BEFORE_LINE_BEGINS
          The constant indicating the position before the first item of the layout.
static String CENTER
          Constant indicating the center of the container
static String EAST
          Constant indicating the right side of the container
static String LINE_END
          The constant indicating the position after the last item of the layout.
static String LINE_START
          The constant indicating the position before the first item of the layout.
static String NORTH
          Constant indicating the top of the container
static String PAGE_END
          The constant indicating the position after the last line of the layout.
static String PAGE_START
          The constant indicating the position before the first line of the layout.
static String SOUTH
          Constant indicating the bottom of the container
static String WEST
          Constant indicating the left side of the container
 
Constructor Summary
BorderLayout()
          Initializes a new instance of BorderLayout with no horiztonal or vertical gaps between components.
BorderLayout(int hgap, int vgap)
          Initializes a new instance of BorderLayout with the specified horiztonal and vertical gaps between components.
 
Method Summary
 void addLayoutComponent(Component component, Object constraints)
          Adds a component to the layout in the specified constraint position, which must be one of the string constants defined in this class.
 void addLayoutComponent(String constraints, Component component)
          Deprecated. This method is deprecated in favor of addLayoutComponent(Component, Object).
 Object getConstraints(Component c)
          Return the constraint corresponding to a component in this layout.
 int getHgap()
          Returns the horitzontal gap value.
 float getLayoutAlignmentX(Container parent)
          Returns the X axis alignment, which is a float indicating where along the X axis this container wishs to position its layout. 0 indicates align to the left, 1 indicates align to the right, and 0.5 indicates align to the center.
 float getLayoutAlignmentY(Container parent)
          Returns the Y axis alignment, which is a float indicating where along the Y axis this container wishs to position its layout. 0 indicates align to the top, 1 indicates align to the bottom, and 0.5 indicates align to the center.
 Component getLayoutComponent(Container container, Object constraints)
          Return the component at the specified location, which must be one of the absolute constants such as CENTER or SOUTH.
 Component getLayoutComponent(Object constraints)
          Return the component at the indicated location, or null if no component is at that location.
 int getVgap()
          Returns the vertical gap value.
 void invalidateLayout(Container parent)
          Instructs this object to discard any layout information it might have cached.
 void layoutContainer(Container target)
          Lays out the specified container according to the constraints in this object.
 Dimension maximumLayoutSize(Container target)
          Returns the maximum size of the specified container using this layout.
 Dimension minimumLayoutSize(Container target)
          Returns the minimum size of the specified container using this layout.
 Dimension preferredLayoutSize(Container target)
          Returns the preferred size of the specified container using this layout.
 void removeLayoutComponent(Component component)
          Removes the specified component from the layout.
 void setHgap(int hgap)
          Sets the horizontal gap to the specified value.
 void setVgap(int vgap)
          Sets the vertical gap to the specified value.
 String toString()
          Returns a string representation of this layout manager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NORTH

public static final String NORTH
Constant indicating the top of the container

See Also:
Constant Field Values

SOUTH

public static final String SOUTH
Constant indicating the bottom of the container

See Also:
Constant Field Values

EAST

public static final String EAST
Constant indicating the right side of the container

See Also:
Constant Field Values

WEST

public static final String WEST
Constant indicating the left side of the container

See Also:
Constant Field Values

CENTER

public static final String CENTER
Constant indicating the center of the container

See Also:
Constant Field Values

BEFORE_FIRST_LINE

public static final String BEFORE_FIRST_LINE
The constant indicating the position before the first line of the layout. The exact position depends on the writing system: For a top-to-bottom orientation, it is the same as NORTH, for a bottom-to-top orientation, it is the same as SOUTH.

This constant is an older name for PAGE_START which has exactly the same value.

Since:
1.2
See Also:
Constant Field Values

AFTER_LAST_LINE

public static final String AFTER_LAST_LINE
The constant indicating the position after the last line of the layout. The exact position depends on the writing system: For a top-to-bottom orientation, it is the same as SOUTH, for a bottom-to-top orientation, it is the same as NORTH.

This constant is an older name for PAGE_END which has exactly the same value.

Since:
1.2
See Also:
Constant Field Values

BEFORE_LINE_BEGINS

public static final String BEFORE_LINE_BEGINS
The constant indicating the position before the first item of the layout. The exact position depends on the writing system: For a left-to-right orientation, it is the same as WEST, for a right-to-left orientation, it is the same as EAST.

This constant is an older name for LINE_START which has exactly the same value.

Since:
1.2
See Also:
Constant Field Values

AFTER_LINE_ENDS

public static final String AFTER_LINE_ENDS
The constant indicating the position after the last item of the layout. The exact position depends on the writing system: For a left-to-right orientation, it is the same as EAST, for a right-to-left orientation, it is the same as WEST.

This constant is an older name for LINE_END which has exactly the same value.

Since:
1.2
See Also:
Constant Field Values

PAGE_START

public static final String PAGE_START
The constant indicating the position before the first line of the layout. The exact position depends on the writing system: For a top-to-bottom orientation, it is the same as NORTH, for a bottom-to-top orientation, it is the same as SOUTH.

Since:
1.4
See Also:
Constant Field Values

PAGE_END

public static final String PAGE_END
The constant indicating the position after the last line of the layout. The exact position depends on the writing system: For a top-to-bottom orientation, it is the same as SOUTH, for a bottom-to-top orientation, it is the same as NORTH.

Since:
1.4
See Also:
Constant Field Values

LINE_START

public static final String LINE_START
The constant indicating the position before the first item of the layout. The exact position depends on the writing system: For a left-to-right orientation, it is the same as WEST, for a right-to-left orientation, it is the same as EAST.

Since:
1.4
See Also:
Constant Field Values

LINE_END

public static final String LINE_END
The constant indicating the position after the last item of the layout. The exact position depends on the writing system: For a left-to-right orientation, it is the same as EAST, for a right-to-left orientation, it is the same as WEST.

Since:
1.4
See Also:
Constant Field Values
Constructor Detail

BorderLayout

public BorderLayout()
Initializes a new instance of BorderLayout with no horiztonal or vertical gaps between components.


BorderLayout

public BorderLayout(int hgap,
                    int vgap)
Initializes a new instance of BorderLayout with the specified horiztonal and vertical gaps between components.

Parameters:
hgap - The horizontal gap between components.
vgap - The vertical gap between components.
Method Detail

getHgap

public int getHgap()
Returns the horitzontal gap value.

Returns:
The horitzontal gap value.

setHgap

public void setHgap(int hgap)
Sets the horizontal gap to the specified value.

Parameters:
hgap - The new horizontal gap.

getVgap

public int getVgap()
Returns the vertical gap value.

Returns:
The vertical gap value.

setVgap

public void setVgap(int vgap)
Sets the vertical gap to the specified value.

Parameters:
vgap - The new vertical gap value.

addLayoutComponent

public void addLayoutComponent(Component component,
                               Object constraints)
Adds a component to the layout in the specified constraint position, which must be one of the string constants defined in this class.

Specified by:
addLayoutComponent in interface LayoutManager2
Parameters:
component - The component to add.
constraints - The constraint string.
Throws:
IllegalArgumentException - If the constraint object is not a string, or is not one of the specified constants in this class.

addLayoutComponent

public void addLayoutComponent(String constraints,
                               Component component)
Deprecated. This method is deprecated in favor of addLayoutComponent(Component, Object).

Adds a component to the layout in the specified constraint position, which must be one of the string constants defined in this class.

Specified by:
addLayoutComponent in interface LayoutManager
Parameters:
constraints - The constraint string.
component - The component to add.
Throws:
IllegalArgumentException - If the constraint object is not one of the specified constants in this class.

removeLayoutComponent

public void removeLayoutComponent(Component component)
Removes the specified component from the layout.

Specified by:
removeLayoutComponent in interface LayoutManager
Parameters:
component - The component to remove from the layout.

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
Returns the minimum size of the specified container using this layout.

Specified by:
minimumLayoutSize in interface LayoutManager
Parameters:
target - The container to calculate the minimum size for.
Returns:
The minimum size of the container
See Also:
LayoutManager.preferredLayoutSize(Container)

preferredLayoutSize

public Dimension preferredLayoutSize(Container target)
Returns the preferred size of the specified container using this layout.

Specified by:
preferredLayoutSize in interface LayoutManager
Parameters:
target - The container to calculate the preferred size for.
Returns:
The preferred size of the container
See Also:
LayoutManager.minimumLayoutSize(Container)

maximumLayoutSize

public Dimension maximumLayoutSize(Container target)
Returns the maximum size of the specified container using this layout.

Specified by:
maximumLayoutSize in interface LayoutManager2
Parameters:
target - The container to calculate the maximum size for.
Returns:
The maximum size of the container
See Also:
Component.getMaximumSize()

getLayoutAlignmentX

public float getLayoutAlignmentX(Container parent)
Returns the X axis alignment, which is a float indicating where along the X axis this container wishs to position its layout. 0 indicates align to the left, 1 indicates align to the right, and 0.5 indicates align to the center.

Specified by:
getLayoutAlignmentX in interface LayoutManager2
Parameters:
parent - The parent container.
Returns:
The X alignment value.

getLayoutAlignmentY

public float getLayoutAlignmentY(Container parent)
Returns the Y axis alignment, which is a float indicating where along the Y axis this container wishs to position its layout. 0 indicates align to the top, 1 indicates align to the bottom, and 0.5 indicates align to the center.

Specified by:
getLayoutAlignmentY in interface LayoutManager2
Parameters:
parent - The parent container.
Returns:
The Y alignment value.

invalidateLayout

public void invalidateLayout(Container parent)
Instructs this object to discard any layout information it might have cached.

Specified by:
invalidateLayout in interface LayoutManager2
Parameters:
parent - The parent container.

layoutContainer

public void layoutContainer(Container target)
Lays out the specified container according to the constraints in this object.

Specified by:
layoutContainer in interface LayoutManager
Parameters:
target - The container to lay out.

toString

public String toString()
Returns a string representation of this layout manager.

Overrides:
toString in class Object
Returns:
A string representation of this object.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)

getLayoutComponent

public Component getLayoutComponent(Object constraints)
Return the component at the indicated location, or null if no component is at that location. The constraints argument must be one of the location constants specified by this class.

Parameters:
constraints - the location
Returns:
the component at that location, or null
Throws:
IllegalArgumentException - if the constraints argument is not recognized
Since:
1.5

getLayoutComponent

public Component getLayoutComponent(Container container,
                                    Object constraints)
Return the component at the specified location, which must be one of the absolute constants such as CENTER or SOUTH. The container's orientation is used to map this location to the correct corresponding component, so for instance in a right-to-left container, a request for the EAST component could return the LINE_END component. This will return null if no component is available at the given location.

Parameters:
container - the container whose orientation is used
constraints - the absolute location of the component
Returns:
the component at the location, or null
Throws:
IllegalArgumentException - if the constraint is not recognized

getConstraints

public Object getConstraints(Component c)
Return the constraint corresponding to a component in this layout. If the component is null, or is not in this layout, returns null. Otherwise, this will return one of the constraint constants defined in this class.

Parameters:
c - the component
Returns:
the constraint, or null
Since:
1.5