使用 BorderLayout

Visual Editor 提供了可视提示来帮助您使用 Swing BorderLayout。

BorderLayout 管理器将组件布置到由指南针方向定义的区域中。类 java.awt.BorderLayout 实现了 LayoutManager2,它的约束是一个字符串,字符串的值可以为“North”、“South”、“Center”、“East”或“ West”。

注意:如果将容器切换至 BorderLayout 并且该容器具有 5 个以上的组件,则只将前 5 个组件与约束一起添加至 BorderLayout。而其余组件将从容器移至“设计”视图的自由格式区域。

BorderLayout 按其中一个指南针约束沿边缘以首选宽度或高度放置每个组件,而“Center”组件将占用所有剩余空间。

约束值被用作方法 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 的相对定位:“before line begins”和“after line ends”。例如,在 ComponenetOrientation 为 ComponentOrientation.LEFT_TO_RIGHT 的容器中,“Before line begins”映射至“West”,而“After line ends”映射至“East”。建议不要将两种类型的常量混合使用。在运行时,不正常的结果可能会显示在图查看器中,这是因为相对常量将优先使用。

上级主题:Swing 和 AWT 布局管理器

相关概念
布局管理器和容器

相关任务
使用 BoxLayout
使用 CardLayout
使用 FlowLayout
使用 GridLayout(AWT)
使用 GridBag 布局

(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved.