所有类


java.awt
类 BorderLayout

java.lang.Object
  继承者 java.awt.BorderLayout
所有已实现的接口:
LayoutManager, LayoutManager2, Serializable

public class BorderLayout
   
   
   
   
   
extends Object
implements LayoutManager2, Serializable

这是一个布置容器的边界布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:南、北、东、西和中间区域。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTHSOUTHEASTWESTCENTER。当使用边界布局将一个组件添加到容器中时,要使用这五个常量之一,例如:

    Panel p = new Panel();
    p.setLayout(new BorderLayout());
    p.add(new Button("Okay"), BorderLayout.SOUTH);
 
为了方便起见,BorderLayout 将缺少字符串规范的情况解释为常量 CENTER
    Panel p2 = new Panel();
    p2.setLayout(new BorderLayout());
    p2.add(new TextArea());  // Same as p.add(new TextArea(), BorderLayout.CENTER);
 

此外,BorderLayout 支持相对定位常量 PAGE_STARTPAGE_ENDLINE_STARTLINE_END。在 ComponentOrientation 设置为 ComponentOrientation.LEFT_TO_RIGHT 的容器中,这些常量分别映射到 NORTHSOUTHWESTEAST

为了与以前的版本兼容,BorderLayout 还包括相对定位常量 BEFORE_FIRST_LINEAFTER_LAST_LINEBEFORE_LINE_BEGINSAFTER_LINE_ENDS。这些常量分别等同于 PAGE_STARTPAGE_ENDLINE_STARTLINE_END。为了与其他组件使用的相对定位常量一致,应优先使用较后列出的常量。

将绝对定位常量与相对定位常量混合会产生无法预料的结果。如果两种类型的常量都使用,则应优先采用相对常量。例如,如果使用 NORTHPAGE_START 常量在方向性为 LEFT_TO_RIGHT 的容器中添加组件,则只需对 PAGE_START 进行布局即可。

注:目前,在 Java 2 Platform v1.2 中,BorderLayout 不支持垂直定向。不考虑容器的 ComponentOrientation 上的 isVertical 设置。

根据其首选大小和容器大小的约束 (Constraints) 对组件进行布局。NORTHSOUTH 组件可以在水平方向上进行拉伸;而 EASTWEST 组件可以在垂直方向上进行拉伸;CENTER 组件在水平和垂直方向上都可以进行拉伸,从而填充所有剩余空间。

以下是一个使用 BorderLayout 布局管理器的例子,它对一个 applet 中的五个按钮进行布局:

描述 BorderLayout 的 applet 的图表。 BorderLayout 的每个部分都包含一个对应于它在布局中的位置的 Button,它为以下五个常量之一: North、West、Center、East 或 South。

此 applet 的代码如下:


 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);
   }
 }

从以下版本开始:
JDK1.0
另请参见:
Container.add(String, Component), ComponentOrientation, 序列化表格

字段摘要
static StringAFTER_LAST_LINE
          PAGE_END 的同义字。
static StringAFTER_LINE_ENDS
          LINE_END 的同义字。
static StringBEFORE_FIRST_LINE
          PAGE_START 的同义字。
static StringBEFORE_LINE_BEGINS
          LINE_START 的同义字。
static StringCENTER
          中间区域的布局约束(容器的中央)。
static StringEAST
          东区域的布局约束(容器的右边)。
static StringLINE_END
          该组件出现在布局的行方向的结尾处。
static StringLINE_START
          该组件出现在布局的行方向的开始处。
static StringNORTH
          北区域的布局约束(容器的顶部)。
static StringPAGE_END
          在最后一行布局内容之后出现的组件。
static StringPAGE_START
          在第一行布局内容之前出现的组件。
static StringSOUTH
          南区域的布局约束(容器的底部)。
static StringWEST
          西区域的布局约束(容器的左边)。
 
构造方法摘要
BorderLayout()
          构造一个组件之间没有间距的新边界布局。
BorderLayout(int hgap, int vgap)
          用指定的组件之间的水平间距构造一个边界布局。
 
方法摘要
 voidaddLayoutComponent(Component comp, Object constraints)
          使用指定的约束对象将指定组件添加到布局中。
 voidaddLayoutComponent(String name, Component comp)
          已过时。 addLayoutComponent(Component, Object) 取代。
 ObjectgetConstraints(Component comp)
          获得指定组件的约束
 intgetHgap()
          返回组件之间的水平间距。
 floatgetLayoutAlignmentX(Container parent)
          返回沿 x 轴的对齐方式。
 floatgetLayoutAlignmentY(Container parent)
          返回沿 y 轴的对齐方式。
 ComponentgetLayoutComponent(Container target, Object constraints)
          基于目标 Container 的组件方向,获得给定约束位置所对应的组件
 ComponentgetLayoutComponent(Object constraints)
          获得使用给定约束添加的组件。
 intgetVgap()
          返回组件之间的垂直间距。
 voidinvalidateLayout(Container target)
          该方法可使布局无效,指示布局管理器是否具有它应该丢弃的缓存信息。
 voidlayoutContainer(Container target)
          使用此边界布局对容器参数进行布局。
 DimensionmaximumLayoutSize(Container target)
          在给出指定目标容器中的组件的前提下,返回此布局的最大尺寸。
 DimensionminimumLayoutSize(Container target)
          使用此布局管理器确定 target 容器的最小大小。
 DimensionpreferredLayoutSize(Container target)
          基于容器中的组件,使用此布局管理器确定 target 容器的首选大小。
 voidremoveLayoutComponent(Component comp)
          从此边界布局中移除指定组件。
 voidsetHgap(int hgap)
          设置组件之间的水平间距。
 voidsetVgap(int vgap)
          设置组件之间的垂直间距。
 StringtoString()
          返回此边界布局的状态的字符串表示形式。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

NORTH

public static final String NORTH
北区域的布局约束(容器的顶部)。

另请参见:
常量字段值

SOUTH

public static final String SOUTH
南区域的布局约束(容器的底部)。

另请参见:
常量字段值

EAST

public static final String EAST
东区域的布局约束(容器的右边)。

另请参见:
常量字段值

WEST

public static final String WEST
西区域的布局约束(容器的左边)。

另请参见:
常量字段值

CENTER

public static final String CENTER
中间区域的布局约束(容器的中央)。

另请参见:
常量字段值