|
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。