JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 GridLayout

java.lang.Object
  繼承者 java.awt.GridLayout
所有已實作的介面:
LayoutManager, Serializable

public class GridLayout
extends Object
implements LayoutManager, Serializable

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 所示的輸出。

在 3 行中顯示 6 個按鈕。第 1 行顯示按鈕 1 然後是按鈕 2。
第 2 行顯示按鈕 3 然後是按鈕 4。第 3 行顯示按鈕 5 然後是按鈕 6。 在 3 行中顯示 6 個按鈕。第 1 行顯示按鈕 2 然後是按鈕 1。
第 2 行顯示按鈕 4 然後是按鈕 3。第 3 行顯示按鈕 6 然後是按鈕 5。
圖 1:水平,從左到右 圖 2:水平,從右到左

通過建構子或 setRowssetColumns 方法將行數和列數都設置為非零值時,指定的列數將被忽略。列數通過指定的行數和佈局中的元件總數來確定。因此,例如,如果指定了三行和兩列,在佈局中添加了九個元件,則它們將顯示為三行三列。僅當將行數設置為零時,指定列數才對佈局有效。

從以下版本開始:
JDK1.0
另請參見:
序列化表格

建構子摘要
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
 

建構子詳細資訊

GridLayout

public GridLayout()
創建具有預設值的網格佈局,即每個元件佔據一行一列。

從以下版本開始:
JDK1.1

GridLayout

public GridLayout(int rows,
                  int cols)
創建具有指定行數和列數的網格佈局。給佈局中的所有元件分派相等的大小。

rowscols 中的一個可以為零(但不能兩者同時為零),這表示可以將任何數目的物件置於行或列中。

參數:
rows - 該 rows 具有表示任意行數的值零。
cols - 該 cols 具有表示任意列數的值零。

GridLayout

public GridLayout(int rows,
                  int cols,
                  int hgap,
                  int vgap)
創建具有指定行數和列數的網格佈局。給佈局中的所有元件分派相等的大小。

此外,將水平和垂直間距設置為指定值。水平間距將置於列與列之間。將垂直間距將置於行與行之間。

rowscols 中的一個可以為零(但不能兩者同時為零),這表示可以將任何數目的物件置於行或列中。

所有 GridLayout 建構子都服從這一規定。

參數:
rows - 該 rows 具有表示任意行數的值零
cols - 該 cols 具有表示任意列數的值零
hgap - 水平間距
vgap - 垂直間距
拋出:
IllegalArgumentException - 如果將 rowscols 的值都設置為零
方法詳細資訊

getRows

public int getRows()
獲取此佈局中的行數。

返回:
此佈局中的行數
從以下版本開始:
JDK1.1

setRows

public void setRows(int rows)
將此佈局中的行數設置為指定值。

參數:
rows - 此佈局中的行數
拋出:
IllegalArgumentException - 如果將 rowscols 的值都設置為零
從以下版本開始:
JDK1.1

getColumns

public int getColumns()
獲取此佈局中的列數。

返回:
此佈局中的列數
從以下版本開始:
JDK1.1

setColumns

public void setColumns(int cols)
將此佈局中的列數設置為指定值。如果建構子或 setRows 方法指定的行數為非零,則列數的設置對佈局沒有影響。在這種情況下,佈局中顯示的列數由元件的總數和指定的行數確定。

參數:
cols - 此佈局中的列數
拋出:
IllegalArgumentException - 如果將 rowscols 的值都設置為零
從以下版本開始:
JDK1.1

getHgap

public int getHgap()
獲取元件之間的水平間距。

返回:
元件之間的水平間距
從以下版本開始:
JDK1.1

setHgap

public void setHgap(int hgap)
將元件之間的水平間距設置為指定值。

參數:
hgap - 元件之間的水平間距
從以下版本開始:
JDK1.1

getVgap

public int getVgap()
獲取元件之間的垂直間距。

返回:
元件之間的垂直間距
從以下版本開始:
JDK1.1

setVgap

public void setVgap(int vgap)
將元件之間的垂直間距設置為指定值。

參數:
vgap - 元件之間的垂直間距
從以下版本開始:
JDK1.1

addLayoutComponent

public void addLayoutComponent(String name,
                               Component comp)
將具有指定名稱的指定元件添加到佈局。

指定者:
介面 LayoutManager 中的 addLayoutComponent
參數:
name - 元件名
comp - 要添加的元件

removeLayoutComponent

public void removeLayoutComponent(Component comp)
從佈局移除指定元件。

指定者:
介面 LayoutManager 中的 removeLayoutComponent
參數:
comp - 要移除的元件

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)
使用此網格佈局確定容器參數的首選大小。

網路佈局的首選寬度等於容器中所有元件的最大首選寬度乘以列數,加上水平填充乘以列數減去一,再加上目標容器的左右 insets。

網路佈局的首選高度等於容器中所有元件的最大首選高度乘以行數,加上垂直填充乘以行數減去一,再加上目標容器的上下 insets。

指定者:
介面 LayoutManager 中的 preferredLayoutSize
參數:
parent - 要在其中進行佈局的容器
返回:
佈置指定容器子元件的首選維數
另請參見:
minimumLayoutSize(java.awt.Container), Container.getPreferredSize()

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)
使用此網路佈局確定最小大小的容器參數。

網路佈局的最小寬度等於容器中所有元件的最大最小寬度乘以列數,加上水平填充乘以列數減去一,再加上目標容器的左右 insets。

網路佈局的最小高度等於容器中所有元件的最大最小高度乘以行數,加上垂直填充乘以行數減去一,再加上目標容器的上下 insets。

指定者:
介面 LayoutManager 中的 minimumLayoutSize
參數:
parent - 要在其中進行佈局的容器
返回:
佈置指定容器的子元件所需的最小維數
另請參見:
preferredLayoutSize(java.awt.Container), Container.doLayout()

layoutContainer

public void layoutContainer(Container parent)
使用此佈局佈置指定容器。

為了滿足 GridLayout 物件的約束條件,此方法會重塑指定目標中的元件。

網路佈局管理器根據佈局中的行數和列數,通過將容器中的自由空間分割成相等大小的部分來確定單個元件的大小。容器的自由空間等於容器的大小減去所有 insets 和所有指定的水平和垂直間距。給網路佈局中的所有元件分派相同的大小。

指定者:
介面 LayoutManager 中的 layoutContainer
參數:
parent - 要在其中進行佈局的容器
另請參見:
Container, Container.doLayout()

toString

public String toString()
返回此網格佈局的值的字元串表示形式。

覆寫:
類別 Object 中的 toString
返回:
此網格佈局的字元串表示形式

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only