|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.BorderLayout
public class BorderLayout
这是一个布置容器的边界布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:南、北、东、西和中间区域。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH
、SOUTH
、EAST
、WEST
和 CENTER
。当使用边界布局将一个组件添加到容器中时,要使用这五个常量之一,例如:
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_START
、PAGE_END
、LINE_START
和 LINE_END
。在 ComponentOrientation
设置为 ComponentOrientation.LEFT_TO_RIGHT
的容器中,这些常量分别映射到 NORTH
、SOUTH
、WEST
和 EAST
。
为了与以前的版本兼容,BorderLayout
还包括相对定位常量 BEFORE_FIRST_LINE
、AFTER_LAST_LINE
、BEFORE_LINE_BEGINS
和 AFTER_LINE_ENDS
。这些常量分别等同于 PAGE_START
、PAGE_END
、LINE_START
和 LINE_END
。为了与其他组件使用的相对定位常量一致,应优先使用较后列出的常量。
将绝对定位常量与相对定位常量混合会产生无法预料的结果。如果两种类型的常量都使用,则应优先采用相对常量。例如,如果使用 NORTH
和 PAGE_START
常量在方向性为 LEFT_TO_RIGHT
的容器中添加组件,则只需对 PAGE_START
进行布局即可。
注:目前,在 Java 2 Platform v1.2 中,BorderLayout
不支持垂直定向。不考虑容器的 ComponentOrientation
上的 isVertical
设置。
根据其首选大小和容器大小的约束 (Constraints) 对组件进行布局。NORTH
和 SOUTH
组件可以在水平方向上进行拉伸;而 EAST
和 WEST
组件可以在垂直方向上进行拉伸;CENTER
组件在水平和垂直方向上都可以进行拉伸,从而填充所有剩余空间。
以下是一个使用 BorderLayout
布局管理器的例子,它对一个 applet 中的五个按钮进行布局:
此 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); } }
Container.add(String, Component)
,
ComponentOrientation
,
序列化表格字段摘要 | |
---|---|
static String |
AFTER_LAST_LINE
PAGE_END 的同义字。 |
static String |
AFTER_LINE_ENDS
LINE_END 的同义字。 |
static String |
BEFORE_FIRST_LINE
PAGE_START 的同义字。 |
static String |
BEFORE_LINE_BEGINS
LINE_START 的同义字。 |
static String |
CENTER
中间区域的布局约束(容器的中央)。 |
static String |
EAST
东区域的布局约束(容器的右边)。 |
static String |
LINE_END
该组件出现在布局的行方向的结尾处。 |
static String |
LINE_START
该组件出现在布局的行方向的开始处。 |
static String |
NORTH
北区域的布局约束(容器的顶部)。 |
static String |
PAGE_END
在最后一行布局内容之后出现的组件。 |
static String |
PAGE_START
在第一行布局内容之前出现的组件。 |
static String |
SOUTH
南区域的布局约束(容器的底部)。 |
static String |
WEST
西区域的布局约束(容器的左边)。 |
构造方法摘要 | |
---|---|
BorderLayout()
构造一个组件之间没有间距的新边界布局。 |
|
BorderLayout(int hgap,
int vgap)
用指定的组件之间的水平间距构造一个边界布局。 |
方法摘要 | |
---|---|
void |
addLayoutComponent(Component comp,
Object constraints)
使用指定的约束对象将指定组件添加到布局中。 |
void |
addLayoutComponent(String name,
Component comp)
已过时。 由 addLayoutComponent(Component, Object) 取代。 |
Object |
getConstraints(Component comp)
获得指定组件的约束 |
int |
getHgap()
返回组件之间的水平间距。 |
float |
getLayoutAlignmentX(Container parent)
返回沿 x 轴的对齐方式。 |
float |
getLayoutAlignmentY(Container parent)
返回沿 y 轴的对齐方式。 |
Component |
getLayoutComponent(Container target,
Object constraints)
基于目标 Container 的组件方向,获得给定约束位置所对应的组件 |
Component |
getLayoutComponent(Object constraints)
获得使用给定约束添加的组件。 |
int |
getVgap()
返回组件之间的垂直间距。 |
void |
invalidateLayout(Container target)
该方法可使布局无效,指示布局管理器是否具有它应该丢弃的缓存信息。 |
void |
layoutContainer(Container target)
使用此边界布局对容器参数进行布局。 |
Dimension |
maximumLayoutSize(Container target)
在给出指定目标容器中的组件的前提下,返回此布局的最大尺寸。 |
Dimension |
minimumLayoutSize(Container target)
使用此布局管理器确定 target 容器的最小大小。 |
Dimension |
preferredLayoutSize(Container target)
基于容器中的组件,使用此布局管理器确定 target 容器的首选大小。 |
void |
removeLayoutComponent(Component comp)
从此边界布局中移除指定组件。 |
void |
setHgap(int hgap)
设置组件之间的水平间距。 |
void |
setVgap(int vgap)
设置组件之间的垂直间距。 |
String |
toString()
返回此边界布局的状态的字符串表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
public static final String NORTH
public static final String SOUTH
public static final String EAST
public static final String WEST
public static final String CENTER
public static final String BEFORE_FIRST_LINE
PAGE_START
,
常量字段值public static final String AFTER_LAST_LINE
public static final String BEFORE_LINE_BEGINS
LINE_START
,
常量字段值public static final String AFTER_LINE_ENDS
public static final String PAGE_START
Component.getComponentOrientation()
,
常量字段值public static final String PAGE_END
Component.getComponentOrientation()
,
常量字段值public static final String LINE_START
Component.getComponentOrientation()
,
常量字段值public static final String LINE_END
Component.getComponentOrientation()
,
常量字段值构造方法详细信息 |
---|
public BorderLayout()
public BorderLayout(int hgap, int vgap)
hgap
指定,而垂直间距由 vgap
指定。
hgap
- 水平间距。vgap
- 垂直间距。方法详细信息 |
---|
public int getHgap()
public void setHgap(int hgap)
hgap
- 组件之间的水平间距public int getVgap()
public void setVgap(int vgap)
vgap
- 组件之间的垂直间距public void addLayoutComponent(Component comp, Object constraints)
NORTH
、SOUTH
、EAST
、WEST
或 CENTER
。
大多数应用程序并不直接调用此方法。当使用 Container.add
方法将组件添加到容器中时,可以使用相同的参数类型调用此方法。
LayoutManager2
中的 addLayoutComponent
comp
- 要添加的组件。constraints
- 指定将组件添加到布局中的方式和位置的对象。
IllegalArgumentException
- 如果约束对象不是一个字符串,或者它不是五种指定约束之一。Container.add(java.awt.Component, java.lang.Object)
@Deprecated public void addLayoutComponent(String name, Component comp)
addLayoutComponent(Component, Object)
取代。
LayoutManager
复制的描述comp
添加到布局,并将其与 name
指定的字符串关联。
LayoutManager
中的 addLayoutComponent
name
- 要与组件关联的字符串comp
- 要添加的组件public void removeLayoutComponent(Component comp)
remove
或 removeAll
方法时,可调用此方法。大多数应用程序并不直接调用此方法。
LayoutManager
中的 removeLayoutComponent
comp
- 要移除的组件。Container.remove(java.awt.Component)
,
Container.removeAll()
public Component getLayoutComponent(Object constraints)
constraints
- 所需的约束,它是 CENTER
、NORTH
、SOUTH
、WEST
、EAST
、PAGE_START
、PAGE_END
、LINE_START
、LINE_END
之一
IllegalArgumentException
- 如果约束对象不是九个指定约束之一addLayoutComponent(java.awt.Component, java.lang.Object)
public Component getLayoutComponent(Container target, Object constraints)
constraints
- 所需的绝对位置,它是 CENTER
、NORTH
、SOUTH
、EAST
、WEST
之一target
- 使用此 BorderLayout
的 Container
IllegalArgumentException
- 如果约束对象不是五个指定约束之一
NullPointerException
- 如果目标参数为 nulladdLayoutComponent(java.awt.Component, java.lang.Object)
public Object getConstraints(Component comp)
comp
- 要查询的组件
addLayoutComponent(java.awt.Component, java.lang.Object)
public Dimension minimumLayoutSize(Container target)
target
容器的最小大小。
当容器调用其 getMinimumSize
方法时,可以调用此方法。大多数应用程序并不直接调用此方法。
LayoutManager
中的 minimumLayoutSize
target
- 在其中进行布局的容器。
Container
,
preferredLayoutSize(java.awt.Container)
,
Container.getMinimumSize()
public Dimension preferredLayoutSize(Container target)
target
容器的首选大小。
大多数应用程序并不直接调用此方法。当容器调用其 getPreferredSize
方法时,可以调用此方法。
LayoutManager
中的 preferredLayoutSize
target
- 在其中进行布局的容器。
Container
,
minimumLayoutSize(java.awt.Container)
,
Container.getPreferredSize()
public Dimension maximumLayoutSize(Container target)
LayoutManager2
中的 maximumLayoutSize
target
- 需要对其进行布局的组件Container
,
minimumLayoutSize(java.awt.Container)
,
preferredLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container parent)
LayoutManager2
中的 getLayoutAlignmentX
public float getLayoutAlignmentY(Container parent)
LayoutManager2
中的 getLayoutAlignmentY
public void invalidateLayout(Container target)
LayoutManager2
中的 invalidateLayout
public void layoutContainer(Container target)
为了满足此 BorderLayout
对象的约束条件,此方法实际上会重塑指定容器中的组件。NORTH
和 SOUTH
组件(如果有)分别放置在容器的顶端和底端。WEST
和 EAST
组件分别放置在容器的左边和右边。最后,CENTER
对象放置在中间的任何剩余空间内。
大多数应用程序并不直接调用此方法。当容器调用其 doLayout
方法时,可以调用此方法。
LayoutManager
中的 layoutContainer
target
- 在其中进行布局的容器。Container
,
Container.doLayout()
public String toString()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。