|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.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
中的 addLayoutComponent
comp
- 要添加的元件。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
中的 addLayoutComponent
name
- 要與元件關聯的字元串comp
- 要添加的元件public void removeLayoutComponent(Component comp)
remove
或 removeAll
方法時,可調用此方法。大多數應用程序並不直接調用此方法。
LayoutManager
中的 removeLayoutComponent
comp
- 要移除的元件。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
中的 minimumLayoutSize
target
- 在其中進行佈局的容器。
Container
,
preferredLayoutSize(java.awt.Container)
,
Container.getMinimumSize()
public Dimension preferredLayoutSize(Container target)
target
容器的首選大小。
大多數應用程序並不直接調用此方法。容器調用其 getPreferredSize
方法時將調用此方法。
LayoutManager
中的 preferredLayoutSize
target
- 在其中進行佈局的容器。
Container
,
minimumLayoutSize(java.awt.Container)
,
Container.getPreferredSize()
public Dimension maximumLayoutSize(Container target)
LayoutManager2
中的 maximumLayoutSize
target
- 需要對其進行佈局的元件Container
,
minimumLayoutSize(java.awt.Container)
,
preferredLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container parent)
LayoutManager2
中的 getLayoutAlignmentX
public float getLayoutAlignmentY(Container parent)
LayoutManager2
中的 getLayoutAlignmentY
public void invalidateLayout(Container target)
LayoutManager2
中的 invalidateLayout
public void layoutContainer(Container target)
為了滿足此 BorderLayout
物件的約束條件,此方法實際上會重塑指定容器中的元件。NORTH
和 SOUTH
元件(如果有)分別放置在容器的頂部和底部。WEST
和 EAST
元件分別放置在容器的左邊和右邊。最後,CENTER
物件放置在中間的任何剩餘空間內。
大多數應用程序並不直接調用此方法。容器調用其 doLayout
方法時將調用此方法。
LayoutManager
中的 layoutContainer
target
- 在其中進行佈局的容器。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。