|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.awt.GridLayout
public class GridLayout
GridLayout 類別是一個佈局處理器,它以矩形網格形式對容器的元件進行佈置。容器被分成大小相等的矩形,一個矩形中放置一個元件。例如,下面是一個將六個按鈕佈置到三行兩列中的 applet:
import java.awt.*;
import java.applet.Applet;
public class ButtonGrid extends Applet {
public void init() {
setLayout(new GridLayout(3,2));
add(new Button("1"));
add(new Button("2"));
add(new Button("3"));
add(new Button("4"));
add(new Button("5"));
add(new Button("6"));
}
}
如果容器的 ComponentOrientation 屬性是水平從左到右的,則上述範例產生圖 1 中所示的輸出。如果容器的 ComponentOrientation 屬性是水平從右到左的,則該範例產生圖 2 所示的輸出。
|
|
| 圖 1:水平,從左到右 | 圖 2:水平,從右到左 |
通過建構子或 setRows 和 setColumns 方法將行數和列數都設置為非零值時,指定的列數將被忽略。列數通過指定的行數和佈局中的元件總數來確定。因此,例如,如果指定了三行和兩列,在佈局中添加了九個元件,則它們將顯示為三行三列。僅當將行數設置為零時,指定列數才對佈局有效。
| 建構子摘要 | |
|---|---|
GridLayout()
創建具有預設值的網格佈局,即每個元件佔據一行一列。 |
|
GridLayout(int rows,
int cols)
創建具有指定行數和列數的網格佈局。 |
|
GridLayout(int rows,
int cols,
int hgap,
int vgap)
創建具有指定行數和列數的網格佈局。 |
|
| 方法摘要 | |
|---|---|
void |
addLayoutComponent(String name,
Component comp)
將具有指定名稱的指定元件添加到佈局。 |
int |
getColumns()
獲取此佈局中的列數。 |
int |
getHgap()
獲取元件之間的水平間距。 |
int |
getRows()
獲取此佈局中的行數。 |
int |
getVgap()
獲取元件之間的垂直間距。 |
void |
layoutContainer(Container parent)
使用此佈局佈置指定容器。 |
Dimension |
minimumLayoutSize(Container parent)
使用此網路佈局確定最小大小的容器參數。 |
Dimension |
preferredLayoutSize(Container parent)
使用此網格佈局確定容器參數的首選大小。 |
void |
removeLayoutComponent(Component comp)
從佈局移除指定元件。 |
void |
setColumns(int cols)
將此佈局中的列數設置為指定值。 |
void |
setHgap(int hgap)
將元件之間的水平間距設置為指定值。 |
void |
setRows(int rows)
將此佈局中的行數設置為指定值。 |
void |
setVgap(int vgap)
將元件之間的垂直間距設置為指定值。 |
String |
toString()
返回此網格佈局的值的字元串表示形式。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 建構子詳細資訊 |
|---|
public GridLayout()
public GridLayout(int rows,
int cols)
rows 和 cols 中的一個可以為零(但不能兩者同時為零),這表示可以將任何數目的物件置於行或列中。
rows - 該 rows 具有表示任意行數的值零。cols - 該 cols 具有表示任意列數的值零。
public GridLayout(int rows,
int cols,
int hgap,
int vgap)
此外,將水平和垂直間距設置為指定值。水平間距將置於列與列之間。將垂直間距將置於行與行之間。
rows 和 cols 中的一個可以為零(但不能兩者同時為零),這表示可以將任何數目的物件置於行或列中。
所有 GridLayout 建構子都服從這一規定。
rows - 該 rows 具有表示任意行數的值零cols - 該 cols 具有表示任意列數的值零hgap - 水平間距vgap - 垂直間距
IllegalArgumentException - 如果將 rows 和 cols 的值都設置為零| 方法詳細資訊 |
|---|
public int getRows()
public void setRows(int rows)
rows - 此佈局中的行數
IllegalArgumentException - 如果將 rows 和 cols 的值都設置為零public int getColumns()
public void setColumns(int cols)
cols - 此佈局中的列數
IllegalArgumentException - 如果將 rows 和 cols 的值都設置為零public int getHgap()
public void setHgap(int hgap)
hgap - 元件之間的水平間距public int getVgap()
public void setVgap(int vgap)
vgap - 元件之間的垂直間距
public void addLayoutComponent(String name,
Component comp)
LayoutManager 中的 addLayoutComponentname - 元件名comp - 要添加的元件public void removeLayoutComponent(Component comp)
LayoutManager 中的 removeLayoutComponentcomp - 要移除的元件public Dimension preferredLayoutSize(Container parent)
網路佈局的首選寬度等於容器中所有元件的最大首選寬度乘以列數,加上水平填充乘以列數減去一,再加上目標容器的左右 insets。
網路佈局的首選高度等於容器中所有元件的最大首選高度乘以行數,加上垂直填充乘以行數減去一,再加上目標容器的上下 insets。
LayoutManager 中的 preferredLayoutSizeparent - 要在其中進行佈局的容器
minimumLayoutSize(java.awt.Container),
Container.getPreferredSize()public Dimension minimumLayoutSize(Container parent)
網路佈局的最小寬度等於容器中所有元件的最大最小寬度乘以列數,加上水平填充乘以列數減去一,再加上目標容器的左右 insets。
網路佈局的最小高度等於容器中所有元件的最大最小高度乘以行數,加上垂直填充乘以行數減去一,再加上目標容器的上下 insets。
LayoutManager 中的 minimumLayoutSizeparent - 要在其中進行佈局的容器
preferredLayoutSize(java.awt.Container),
Container.doLayout()public void layoutContainer(Container parent)
為了滿足 GridLayout 物件的約束條件,此方法會重塑指定目標中的元件。
網路佈局管理器根據佈局中的行數和列數,通過將容器中的自由空間分割成相等大小的部分來確定單個元件的大小。容器的自由空間等於容器的大小減去所有 insets 和所有指定的水平和垂直間距。給網路佈局中的所有元件分派相同的大小。
LayoutManager 中的 layoutContainerparent - 要在其中進行佈局的容器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。