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布局管理器布局的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);
}
}