BorderLayout是一個布置容器的框線布局,它可以對容器組件進行安排,並調整其大小,使其符合下列五個區域:北、南、東、西、中,每個區域最多只能包含一個組件。
所有已實現的接口:,java.awt 類 BorderLayout,另請參見:,從以下版本開始:,
所有已實現的接口:
LayoutManager, LayoutManager2, Serializable
java.awt 類 BorderLayout
public class BorderLayout
extends Object
implements 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。為了與其他組件使用的相對定位常量一致,應優先使用後一組常量。
將絕對定位常量與相對定位常量混合會產生無法預料的結果。如果兩種類型的常量都使用,則優先採用相對常量。例如,如果同時使用 NORTH和 PAGE_START常量在方向性為 LEFT_TO_RIGHT的容器中添加組件,則只體現 PAGE_START布局。
註:目前,在 Java 2 Platform v1.2 中,BorderLayout不支持垂直方向。不考慮容器的 ComponentOrientation上 isVertical設定。
根據其首選大小和容器大小的約束 (constraints) 對組件進行布局。NORTH和 SOUTH組件可以在水平方向上拉伸;而 EAST和 WEST組件可以在垂直方向上拉伸;CENTER組件可同時在水平和垂直方向上拉伸,從而填充所有剩餘空間。
以下是一個使用 BorderLayout布局管理器的例子,它對一個 applet 中的五個按鈕進行布局:
另請參見:
Container.add(String, Component), ComponentOrientation, 序列化表格
從以下版本開始:
JDK1.0