可视编辑器提供了一些可视提示来帮助您使用 Swing BorderLayout。
关于此任务
BorderLayout 管理器将组件布置到按罗盘方向定义的区域中。类 java.awt.BorderLayout 实现 LayoutManager2,且其约束是值可以为“北”、“南”、“中间”、“东”或“西”的字符串。
注: 如果将容器切换到 BorderLayout 且它有五个以上的组件,那么只有前五个组件及约束会添加到 BorderLayout。其余的组件将从容器移至“设计”视图的自由格式区域。
BorderLayout 会将每个组件按其首选的宽度和高度沿着边缘放在其中一个罗盘约束处,而“中间”组件占据剩余的所有空间。
- 要在使用 BorderLayout 的容器上添加组件:
- 从要添加至 BorderLayout 的选用板选择 Swing 组件。
- 在“设计”视图上移动鼠标光标。
- BorderLayout 将显示五个矩形区域,表示五个约束:“北”、“南”、“中间”、“东”或“西”。
- 如果区域为空,那么将突出显示该区域并且光标将显示一个加号,表示您可以放置组件。

- 如果区域已由组件占据,那么光标将显示一个带有划线的圆圈,表示您无法在该区域中放置组件。


- 单击“设计”视图中的有效区域以将组件添加到 BorderLayout。
- 要在 BorderLayout 中移动组件:
- 在“设计”视图中,选择 BorderLayout 中您要移至另外一个区域的组件。
- 将组件拖动到另一个区域并松开鼠标按键。 组件将移至新的区域。如果该区域已由另一个组件占据,那么这两个组件将交换位置。
- 要调整 BorderLayout 中组件的间隔,您可以在 BorderLayout 上设置以下属性:
- 水平间距 - 设置中间组件与东西组件之间的距离(以像素为单位)。
- 垂直间距 - 设置中间组件与南北组件之间的距离(以像素为单位)。
结果
约束值用作将组件添加到其父容器的 add(Component,Object) 方法的第二参数。例如,用于初始化 JPanel 的代码可能类似于:
private void initialize() {
this.setLayout(new java.awt.BorderLayout());
this.add(getJLabel(), java.awt.BorderLayout.NORTH);
this.add(getJScrollBar(), java.awt.BorderLayout.WEST);
this.add(getJButton(), java.awt.BorderLayout.EAST);
this.setSize(193, 124);
}
注: 另外还有两个常量用于根据容器的 ComponentOrientation 来支持相对定位:“行开始之前”和“行结束之后”。例如,在 ComponenetOrientation 为 ComponentOrientation.LEFT_TO_RIGHT 的容器中,“行开始之前”将映射至“西”,而“行结束之后”将映射至“东”。
建议不要将两种常量混合使用。由于相对常量优先级较高,因此在运行时在图形查看器中可能显示意外结果。