|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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
PAGE_END
,
常量字段值public static final String BEFORE_LINE_BEGINS
LINE_START
,
常量字段值public static final String AFTER_LINE_ENDS
LINE_END
,
常量字段值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
之一
null
IllegalArgumentException
- 如果约束对象不是九个指定约束之一addLayoutComponent(java.awt.Component, java.lang.Object)
public Component getLayoutComponent(Container target, Object constraints)
Container
的组件方向,返回给定约束位置对应的组件。利用相对约束 PAGE_START
、PAGE_END
、LINE_START
和 LINE_END
添加的组件优先于利用显式约束 NORTH
、SOUTH
、WEST
和 EAST
添加的组件。Container
的组件方向用于确定利用 LINE_START
和 LINE_END
添加的组件的位置。
constraints
- 所需的绝对位置,CENTER
、NORTH
、SOUTH
、EAST
和 WEST
之一target
- Container
,用来获取基于目标 Container
组件方向的约束位置。
null
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()
Object
中的 toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。