|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.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 中的 addLayoutComponentcomp - 要添加的组件。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 中的 addLayoutComponentname - 要与组件关联的字符串comp - 要添加的组件public void removeLayoutComponent(Component comp)
remove 或 removeAll 方法时,可调用此方法。大多数应用程序并不直接调用此方法。
LayoutManager 中的 removeLayoutComponentcomp - 要移除的组件。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 中的 minimumLayoutSizetarget - 在其中进行布局的容器。
Container,
preferredLayoutSize(java.awt.Container),
Container.getMinimumSize()public Dimension preferredLayoutSize(Container target)
target 容器的首选大小。
大多数应用程序并不直接调用此方法。容器调用其 getPreferredSize 方法时将调用此方法。
LayoutManager 中的 preferredLayoutSizetarget - 在其中进行布局的容器。
Container,
minimumLayoutSize(java.awt.Container),
Container.getPreferredSize()public Dimension maximumLayoutSize(Container target)
LayoutManager2 中的 maximumLayoutSizetarget - 需要对其进行布局的组件Container,
minimumLayoutSize(java.awt.Container),
preferredLayoutSize(java.awt.Container)public float getLayoutAlignmentX(Container parent)
LayoutManager2 中的 getLayoutAlignmentXpublic float getLayoutAlignmentY(Container parent)
LayoutManager2 中的 getLayoutAlignmentYpublic void invalidateLayout(Container target)
LayoutManager2 中的 invalidateLayoutpublic void layoutContainer(Container target)
为了满足此 BorderLayout 对象的约束条件,此方法实际上会重塑指定容器中的组件。NORTH 和 SOUTH 组件(如果有)分别放置在容器的顶部和底部。WEST 和 EAST 组件分别放置在容器的左边和右边。最后,CENTER 对象放置在中间的任何剩余空间内。
大多数应用程序并不直接调用此方法。容器调用其 doLayout 方法时将调用此方法。
LayoutManager 中的 layoutContainertarget - 在其中进行布局的容器。Container,
Container.doLayout()public String toString()
Object 中的 toString
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2008 Sun Microsystems, Inc. 保留所有权利。请遵守GNU General Public License, version 2 only。