モジュール java.desktop
パッケージ java.awt

クラスGridLayout

  • すべての実装されたインタフェース:
    LayoutManager, Serializable

    public class GridLayout
    extends Object
    implements LayoutManager, Serializable
    GridLayoutクラスは、コンテナのコンポーネントを矩形グリッドでレイアウトするレイアウト・マネージャです。 コンテナは等しいサイズの矩形に分割され、各矩形にコンポーネントが1つずつ配置されます。 たとえば、次は6つのボタンを3行2列に配置するアプレットです。
     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に示すような出力を生成します。

    6つのボタンを2つずつの行に示す。 行1はボタン1と2を示す。 行2はボタン3と4を示す。 行3はボタン5と6を示す。 6つのボタンを2つずつの行に示す。 行1はボタン2と1を示す。 行2はボタン4と3を示す。 行3はボタン6と5を示す。
    図1: 水平方向に左から右 図2: 水平方向に右から左

    コンストラクタによって、またはsetRowsメソッドおよびsetColumnsメソッドによって、行数と列数のどちらもゼロ以外の値に設定されている場合、指定された列数は無視されます。 代わりに、指定された行数およびレイアウトのコンポーネントの総数から、列数が決定されます。 したがって、たとえば、3行と2列が指定されていて9つのコンポーネントをレイアウトに追加する場合、コンポーネントは3列の3行に表示されます。 列数の指定がレイアウトに影響するのは、行数がゼロに設定された場合だけです。

    導入されたバージョン:
    1.0
    関連項目:
    直列化された形式
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      GridLayout()
      1行中にコンポーネントあたり1つの列を持つデフォルト指定でグリッド・レイアウトを作成します。
      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()
      このグリッド・レイアウトの値の文字列表現を返します。
    • コンストラクタの詳細

      • GridLayout

        public GridLayout()
        1行中にコンポーネントあたり1つの列を持つデフォルト指定でグリッド・レイアウトを作成します。
        導入されたバージョン:
        1.1
      • GridLayout

        public GridLayout​(int rows,
                          int cols)
        指定された数の行と列を持つグリッド・レイアウトを作成します。 レイアウト内のコンポーネントはすべて、等しいサイズに指定されます。

        rowscolsのどちらか1つだけを0にすることができます。つまり、行または列に任意の数のオブジェクトを配置できます。

        パラメータ:
        rows - 行数。値ゼロは任意の数の行を意味する。
        cols - 列数。値ゼロは任意の数の列を意味する。
      • GridLayout

        public GridLayout​(int rows,
                          int cols,
                          int hgap,
                          int vgap)
        指定された数の行と列を持つグリッド・レイアウトを作成します。 レイアウト内のコンポーネントはすべて、等しいサイズに指定されます。

        さらに、水平方向と垂直方向の間隔が指定された値に設定されます。 水平方向の間隔は列間に挿入されます。 垂直方向の間隔は行間に挿入されます。

        rowscolsのどちらか1つだけを0にすることができます。つまり、行または列に任意の数のオブジェクトを配置できます。

        すべてのGridLayoutコンストラクタはこのコンストラクタに従います。

        パラメータ:
        rows - 行数。値ゼロは任意の数の行を意味する
        cols - 列数。値ゼロは任意の数の列を意味する
        hgap - 水平方向の間隔
        vgap - 垂直方向の間隔
        例外:
        IllegalArgumentException - rowscolsの両方の値が0に設定されている場合
    • メソッドの詳細

      • getRows

        public int getRows()
        このレイアウト内の行数を返します。
        戻り値:
        このレイアウト内の行数
        導入されたバージョン:
        1.1
      • setRows

        public void setRows​(int rows)
        このレイアウト内の行数を、指定された値に設定します。
        パラメータ:
        rows - このレイアウト内の行数
        例外:
        IllegalArgumentException - rowscolsの両方の値が0に設定されている場合
        導入されたバージョン:
        1.1
      • getColumns

        public int getColumns()
        このレイアウト内の列数を返します。
        戻り値:
        このレイアウト内の列数
        導入されたバージョン:
        1.1
      • setColumns

        public void setColumns​(int cols)
        このレイアウトの列数を、指定された値に設定します。 コンストラクタまたはsetRowsメソッドによって指定された行の数がゼロでない場合は、列数の設定はレイアウトに影響しません。 その場合、レイアウトに表示される列数は、コンポーネントの総数および指定された行の数によって決定されます。
        パラメータ:
        cols - このレイアウト内の列数
        例外:
        IllegalArgumentException - rowscolsの両方の値が0に設定されている場合
        導入されたバージョン:
        1.1
      • getHgap

        public int getHgap()
        コンポーネント間の水平方向の間隔を取得します。
        戻り値:
        コンポーネント間の水平方向の間隔
        導入されたバージョン:
        1.1
      • setHgap

        public void setHgap​(int hgap)
        コンポーネント間の水平方向の間隔を、指定された値に設定します。
        パラメータ:
        hgap - コンポーネント間の水平方向の間隔
        導入されたバージョン:
        1.1
      • getVgap

        public int getVgap()
        コンポーネント間の垂直方向の間隔を取得します。
        戻り値:
        コンポーネント間の垂直方向の間隔
        導入されたバージョン:
        1.1
      • setVgap

        public void setVgap​(int vgap)
        コンポーネント間の垂直方向の間隔を、指定された値に設定します。
        パラメータ:
        vgap - コンポーネント間の垂直方向の間隔
        導入されたバージョン:
        1.1
      • addLayoutComponent

        public void addLayoutComponent​(String name,
                                       Component comp)
        指定された名前で、指定されたコンポーネントをレイアウトに追加します。
        定義:
        addLayoutComponent、インタフェースLayoutManager
        パラメータ:
        name - コンポーネントの名前
        comp - 追加されるコンポーネント
      • removeLayoutComponent

        public void removeLayoutComponent​(Component comp)
        指定されたコンポーネントをレイアウトから削除します。
        定義:
        removeLayoutComponent、インタフェースLayoutManager
        パラメータ:
        comp - 削除されるコンポーネント
      • preferredLayoutSize

        public Dimension preferredLayoutSize​(Container parent)
        このグリッド・レイアウトを使って、コンテナ引数の推奨サイズを指定します。

        グリッド・レイアウトの推奨幅は、コンテナ内のすべてのコンポーネントの最大推奨幅に列数をかけ、水平パディングに列数マイナス1倍したものを足し、さらにターゲット・コンテナの右と左のイン・セットを足した幅になります。

        グリッド・レイアウトの推奨高さは、コンテナ内のすべてのコンポーネントの最大推奨高さに行数をかけ、垂直パディングに行数マイナス1倍したものを足し、さらにターゲット・コンテナの上と下のイン・セットを足した高さになります。

        定義:
        preferredLayoutSize、インタフェースLayoutManager
        パラメータ:
        parent - レイアウトが行われるコンテナ
        戻り値:
        指定されたコンテナのサブコンポーネントを配置するための望ましい寸法
        関連項目:
        minimumLayoutSize(java.awt.Container), Container.getPreferredSize()
      • minimumLayoutSize

        public Dimension minimumLayoutSize​(Container parent)
        このグリッド・レイアウトを使って、コンテナ引数の最小サイズを指定します。

        グリッド・レイアウトの最小幅は、コンテナ内のすべてのコンポーネントの最大最小値に列数をかけ、水平パディングに列数マイナス1倍したものを足し、さらにターゲット・コンテナの右と左のイン・セットを足した幅になります。

        グリッド・レイアウトの最小高さは、コンテナ内のすべてのコンポーネントの最大最小高さに行数をかけ、垂直パディングに行数マイナス1倍したものを足し、さらにターゲット・コンテナの上と下のイン・セットを足した高さになります。

        定義:
        minimumLayoutSize、インタフェースLayoutManager
        パラメータ:
        parent - レイアウトが行われるコンテナ
        戻り値:
        指定されたコンテナのサブコンポーネントを配置するために必要な最小の寸法
        関連項目:
        preferredLayoutSize(java.awt.Container), Container.doLayout()
      • layoutContainer

        public void layoutContainer​(Container parent)
        このレイアウトを使って、指定されたコンテナを配置します。

        このメソッドは、GridLayoutオブジェクトの制約を満たすために、指定されたターゲット・コンテナ内のコンポーネントの形状を変更します。

        グリッド・レイアウト・マネージャは、個別のコンポーネントのサイズを指定するために、コンテナ内の空き領域をレイアウトの行数と列数に従って等分します。 コンテナの空き領域は、コンテナのサイズから、任意のイン・セットおよび指定された任意の水平または垂直の間隔を引いたものに等しくなります。 グリッド・レイアウト内のコンポーネントはすべて、同じサイズに設定されます。

        定義:
        layoutContainer、インタフェースLayoutManager
        パラメータ:
        parent - レイアウトが行われるコンテナ
        関連項目:
        Container, Container.doLayout()
      • toString

        public String toString()
        このグリッド・レイアウトの値の文字列表現を返します。
        オーバーライド:
        toString、クラスObject
        戻り値:
        このグリッド・レイアウトの文字列表現