- 所有已实现的接口:
LayoutManager
,LayoutManager2
,Serializable
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
。为了与其他组件使用的相对定位常量保持一致,后者的常量是首选。
混合绝对和相对定位常量会导致不可预知的结果。如果您同时使用这两种类型,则相对常数将优先。例如,如果您在方向为 LEFT_TO_RIGHT
的容器中使用 NORTH
和 PAGE_START
常量添加组件,则只会布置 PAGE_START
。
注意:目前,BorderLayout
不支持垂直方向。不遵守容器 ComponentOrientation
上的 isVertical
设置。
组件根据它们的首选大小和容器大小的限制进行布局。 NORTH
和 SOUTH
组件可以水平拉伸; EAST
和 WEST
组件可以垂直拉伸; CENTER
组件可能会水平和垂直拉伸以填充剩余的任何空间。
下面是使用 BorderLayout
布局管理器布局的小程序中五个按钮的示例:
这个小程序的代码如下:
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); } }
- 自从:
- 1.0
- 参见:
-
字段摘要
字段修饰符和类型Field描述static final String
PAGE_END 的同义词。static final String
LINE_END 的同义词。static final String
PAGE_START 的同义词。static final String
LINE_START 的同义词。static final String
中心布局约束(容器中间)。static final String
东布局约束(容器的右侧)。static final String
该组件位于布局线方向的末尾。static final String
该组件位于布局线方向的开头。static final String
北布局约束(容器顶部)。static final String
该组件位于布局内容的最后一行之后。static final String
该组件位于布局内容的第一行之前。static final String
南布局约束(容器底部)。static final String
西布局约束(容器的左侧)。 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述void
addLayoutComponent
(Component comp, Object constraints) 使用指定的约束对象将指定的组件添加到布局中。void
addLayoutComponent
(String name, Component comp) 已弃用。getConstraints
(Component comp) 获取指定组件的约束int
getHgap()
返回组件之间的水平间距。float
getLayoutAlignmentX
(Container parent) 返回沿 x 轴的对齐方式。float
getLayoutAlignmentY
(Container parent) 返回沿 y 轴的对齐方式。getLayoutComponent
(Container target, Object constraints) 根据目标Container
的组件方向返回对应于给定约束位置的组件。getLayoutComponent
(Object constraints) 获取使用给定约束添加的组件int
getVgap()
返回组件之间的垂直间隙。void
invalidateLayout
(Container target) 使布局无效,表示如果布局管理器缓存了信息,则应将其丢弃。void
layoutContainer
(Container target) 使用此边框布局布置容器参数。maximumLayoutSize
(Container target) 给定指定目标容器中的组件,返回此布局的最大尺寸。minimumLayoutSize
(Container target) 使用此布局管理器确定target
容器的最小尺寸。preferredLayoutSize
(Container target) 根据容器中的组件,使用此布局管理器确定target
容器的首选大小。void
从此边框布局中移除指定的组件。void
setHgap
(int hgap) 设置组件之间的水平间距。void
setVgap
(int vgap) 设置组件之间的垂直间隙。toString()
返回此边框布局状态的字符串表示形式。
-
字段详细信息
-
NORTH
北布局约束(容器顶部)。- 参见:
-
SOUTH
南布局约束(容器底部)。- 参见:
-
EAST
东布局约束(容器的右侧)。- 参见:
-
WEST
西布局约束(容器的左侧)。- 参见:
-
CENTER
中心布局约束(容器中间)。- 参见:
-
BEFORE_FIRST_LINE
PAGE_START 的同义词。存在是为了与以前的版本兼容。首选 PAGE_START。- 自从:
- 1.2
- 参见:
-
AFTER_LAST_LINE
PAGE_END 的同义词。存在是为了与以前的版本兼容。首选 PAGE_END。- 自从:
- 1.2
- 参见:
-
BEFORE_LINE_BEGINS
LINE_START 的同义词。存在是为了与以前的版本兼容。首选 LINE_START。- 自从:
- 1.2
- 参见:
-
AFTER_LINE_ENDS
LINE_END 的同义词。存在是为了与以前的版本兼容。首选 LINE_END。- 自从:
- 1.2
- 参见:
-
PAGE_START
该组件位于布局内容的第一行之前。对于西方、从左到右和从上到下的方向,这等同于 NORTH。- 自从:
- 1.4
- 参见:
-
PAGE_END
该组件位于布局内容的最后一行之后。对于西方、从左到右和从上到下的方向,这等同于 SOUTH。- 自从:
- 1.4
- 参见:
-
LINE_START
该组件位于布局线方向的开头。对于西方、从左到右和从上到下的方向,这等同于 WEST。- 自从:
- 1.4
- 参见:
-
LINE_END
该组件位于布局线方向的末尾。对于西方、从左到右和从上到下的方向,这等同于 EAST。- 自从:
- 1.4
- 参见:
-
-
构造方法详细信息
-
BorderLayout
public BorderLayout()构造一个组件之间没有间隙的新边框布局。 -
BorderLayout
public BorderLayout(int hgap, int vgap) 构造组件之间具有指定间隙的边框布局。水平间隙由hgap
指定,垂直间隙由vgap
指定。- 参数:
hgap
- 水平间隙。vgap
- 垂直间隙。
-
-
方法详情
-
getHgap
public int getHgap()返回组件之间的水平间距。- 返回:
- 组件之间的水平间隙
- 自从:
- 1.1
-
setHgap
public void setHgap(int hgap) 设置组件之间的水平间距。- 参数:
hgap
- 组件之间的水平间隙- 自从:
- 1.1
-
getVgap
public int getVgap()返回组件之间的垂直间隙。- 返回:
- 组件之间的垂直间隙
- 自从:
- 1.1
-
setVgap
public void setVgap(int vgap) 设置组件之间的垂直间隙。- 参数:
vgap
- 组件之间的垂直间隙- 自从:
- 1.1
-
addLayoutComponent
使用指定的约束对象将指定的组件添加到布局中。对于边框布局,约束必须是以下常量之一:NORTH
、SOUTH
、EAST
、WEST
或CENTER
。大多数应用程序不直接调用此方法。当使用具有相同参数类型的
Container.add
方法将组件添加到容器时,将调用此方法。- 指定者:
addLayoutComponent
在接口LayoutManager2
中- 参数:
comp
- 要添加的组件。constraints
- 指定组件添加到布局的方式和位置的对象。- 抛出:
IllegalArgumentException
- 如果约束对象不是字符串,或者它不是五个指定常量之一。- 自从:
- 1.1
- 参见:
-
addLayoutComponent
已弃用。替换为addLayoutComponent(Component, Object)
。从接口LayoutManager
复制的描述如果布局管理器使用每个组件字符串,则将组件comp
添加到布局中,将其与name
指定的字符串相关联。- 指定者:
addLayoutComponent
在接口LayoutManager
中- 参数:
name
- 要与组件关联的字符串comp
- 要添加的组件
-
removeLayoutComponent
从此边框布局中移除指定的组件。当容器调用其remove
或removeAll
方法时调用此方法。大多数应用程序不直接调用此方法。- 指定者:
removeLayoutComponent
在接口LayoutManager
中- 参数:
comp
- 要删除的组件。- 参见:
-
getLayoutComponent
获取使用给定约束添加的组件- 参数:
constraints
- 所需的约束,CENTER
、NORTH
、SOUTH
、WEST
、EAST
、PAGE_START
、PAGE_END
、LINE_START
、LINE_END
之一- 返回:
-
给定位置的组件,如果位置为空,则为
null
- 抛出:
IllegalArgumentException
- 如果约束对象不是九个指定常量之一- 自从:
- 1.5
- 参见:
-
getLayoutComponent
根据目标Container
的组件方向返回对应于给定约束位置的组件。添加了相对约束PAGE_START
、PAGE_END
、LINE_START
和LINE_END
的组件优先于添加了显式约束NORTH
、SOUTH
、WEST
和EAST
的组件。Container
的组件方向用于确定添加了LINE_START
和LINE_END
的组件的位置。- 参数:
target
-Container
用于根据目标Container
的组件方向获取约束位置。constraints
- 所需的绝对位置,CENTER
、NORTH
、SOUTH
、EAST
、WEST
之一- 返回:
-
给定位置的组件,如果位置为空,则为
null
- 抛出:
IllegalArgumentException
- 如果约束对象不是五个指定常量之一NullPointerException
- 如果目标参数为空- 自从:
- 1.5
- 参见:
-
getConstraints
获取指定组件的约束- 参数:
comp
- 要查询的组件- 返回:
- 指定组件的约束,如果组件为 null 或不存在于此布局中,则为 null
- 自从:
- 1.5
- 参见:
-
minimumLayoutSize
使用此布局管理器确定target
容器的最小尺寸。当容器调用其
getMinimumSize
方法时调用此方法。大多数应用程序不直接调用此方法。- 指定者:
minimumLayoutSize
在接口LayoutManager
中- 参数:
target
- 进行布局的容器。- 返回:
- 布置指定容器的子组件所需的最小尺寸。
- 参见:
-
preferredLayoutSize
根据容器中的组件,使用此布局管理器确定target
容器的首选大小。大多数应用程序不直接调用此方法。当容器调用其
getPreferredSize
方法时调用此方法。- 指定者:
preferredLayoutSize
在接口LayoutManager
中- 参数:
target
- 进行布局的容器。- 返回:
- 用于布置指定容器的子组件的首选尺寸。
- 参见:
-
maximumLayoutSize
给定指定目标容器中的组件,返回此布局的最大尺寸。- 指定者:
maximumLayoutSize
在接口LayoutManager2
中- 参数:
target
- 需要布局的组件- 返回:
- 容器的最大尺寸
- 参见:
-
getLayoutAlignmentX
返回沿 x 轴的对齐方式。这指定组件如何相对于其他组件对齐。该值应为 0 到 1 之间的数字,其中 0 表示沿原点对齐,1 表示离原点最远,0.5 表示居中,等等。- 指定者:
getLayoutAlignmentX
在接口LayoutManager2
中- 参数:
parent
- 目标容器- 返回:
- x 轴对齐首选项
-
getLayoutAlignmentY
返回沿 y 轴的对齐方式。这指定组件如何相对于其他组件对齐。该值应为 0 到 1 之间的数字,其中 0 表示沿原点对齐,1 表示离原点最远,0.5 表示居中,等等。- 指定者:
getLayoutAlignmentY
在接口LayoutManager2
中- 参数:
parent
- 目标容器- 返回:
- y 轴对齐首选项
-
invalidateLayout
使布局无效,表示如果布局管理器缓存了信息,则应将其丢弃。- 指定者:
invalidateLayout
在接口LayoutManager2
中- 参数:
target
- 目标容器
-
layoutContainer
使用此边框布局布置容器参数。该方法实际上是对指定容器中的组件进行重塑以满足该
BorderLayout
对象的约束。NORTH
和SOUTH
组件(如果有)分别放置在容器的顶部和底部。然后将WEST
和EAST
组件分别放置在左侧和右侧。最后,CENTER
对象被放置在中间的任何剩余空间中。大多数应用程序不直接调用此方法。当容器调用其
doLayout
方法时调用此方法。- 指定者:
layoutContainer
在接口LayoutManager
中- 参数:
target
- 进行布局的容器。- 参见:
-
toString
返回此边框布局状态的字符串表示形式。
-
addLayoutComponent(Component, Object)
。