全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.awt.GridBagLayout

java.lang.Object
   |
   +----java.awt.GridBagLayout

public class GridBagLayout
extends Object
implements LayoutManager2, Serializable
GridBagLayout は、異なる大きさのコンポーネントでも縦横に配置させる柔軟なレイアウトマネージャです。 各 GridBagLayout はセルによって構成される動的な長方形の格子を利用します。 各コンポーネントは、複数のセル( 表示領域 と呼びます)を占有します。 ある 1 つの GridBagLayout によって管理される各コンポーネントは、表示領域 内でのコンポーネントの配置方法を定める GridBagConstraints のインスタンスと結びつけられます。 GridBagLayout によるコンポーネントの配置方法は、コンポーネントのコンテナの推奨サイズだけではなく、各コンポーネントの最小サイズと GridBagConstraints によって決定されます。

GridBagLayout を効果的に利用する為には、少なくとも 1 つのコンポーネントの GridBagConstraints をカスタマイズする必要があります。 カスタマイズは GridBagConstraints オブジェクトの複数のインスタンス変数を設定することによって行います。

gridx, gridy
コンポーネントの表示領域の左上にあたるセルを指定します。 左上にあたるセルは、gridx=0, gridy=0 のアドレスを持ちます。 そのコンポーネントの直前にコンテナに追加されたコンポーネントのすぐ右 (gridx)または、すぐ下 (gridy) に配置する場合は、GridBagConstraints.RELATIVE (デフォルト値) を設定します。
gridwidth, gridheight
コンポーネントの表示領域における 1 行 (gridwidth) または、 1 列 (gridheight) あたりのセルの数を指定します。 デフォルト値は 1 です。 コンポーネントが行 (gridwidth) または列 (gridheight) の最後であることを指定する場合は、GridBagConstraints.REMAINDER を設定します。 次のコンポーネントで、行 (gridwidth) または列 (gridheight)が終了することを指定する場合は、GridBagConstraints.RELATIVE を設定します。
fill
コンポーネントの表示領域が必要とするサイズよりも大きい場合には、コンポーネントのリサイズの方法を指定します。 指定できる値は GridBagConstraint.NONE (デフォルト)、 GridBagConstraint.HORIZONTAL (コンポーネントの高さは変更せずに、幅を表示領域いっぱいにする)、 GridBagConstraint.VERTICAL (コンポーネントの幅は変更せずに、高さを表示領域いっぱいにする)、 GridBagConstraint.BOTH (コンポーネントを表示領域いっぱいにする)。
ipadx, ipady
内側のパディング (コンポーネントの最小サイズに追加する値) を指定します。 コンポーネントの幅は、少なくとも最小の幅 + ipadx*2 ピクセルとなります (コンポーネントの両側にパディングされるため)。 同様に、コンポーネントの高さは、少なくとも最小の高さ + ipady*2 ピクセルとなります。
insets
コンポーネントの外側のパディング--コンポーネントと表示領域の端との間の最小の空間を指定します。
anchor
コンポーネントが表示領域よりも小さい場合に、(表示領域内の)どこにコンポーネントを配置するのかを指定します。 指定できる値は GridBagConstraints.CENTER (デフォルト)、 GridBagConstraints.NORTH、 GridBagConstraints.NORTHEAST、 GridBagConstraints.EAST、 GridBagConstraints.SOUTHEAST、 GridBagConstraints.SOUTH、 GridBagConstraints.SOUTHWEST、 GridBagConstraints.WEST、 GridBagConstraints.NORTHWEST。
weightx, weighty
スペースの分配方法を指定します。これは、リサイズの際の動作を指定する為に重要です。 1 行 (weightx) または 1 列 (weighty) につき少なくとも 1 つのコンポーネントに重み付け(weight) を設定しなくては、すべてのコンポーネントがコンテナの中央に集まってしまうことになります。 これは、重み(weight)が 0 の場合 (デフォルト)には、GridBagLayout がすべての空き領域をセルの格子とコンテナの端の間に配置してしまうからです。
以下の図は、GridBagLayout によって管理される 10 個のコンポーネント (すべてボタン) を示します。
すべてのコンポーネントは、fill=GridBagConstraints.BOTH に設定されています。 さらにコンポーネントは、以下のデフォルトとは異なる制約を持っています。 上記の例を実装したサンプルコードを示す:。
import java.awt.*;
import java.util.*;
import java.applet.Applet;
public class GridBagEx1 extends Applet {
protected void makebutton(String name, GridBagLayout gridbag, GridBagConstraints c) { Button button = new Button(name); gridbag.setConstraints(button, c); add(button); }
public void init() { GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints();
setFont(new Font("Helvetica", Font.PLAIN, 14)); setLayout(gridbag);
c.fill = GridBagConstraints.BOTH; c.weightx = 1.0; makebutton("Button1", gridbag, c); makebutton("Button2", gridbag, c); makebutton("Button3", gridbag, c);
c.gridwidth = GridBagConstraints.REMAINDER; //end row makebutton("Button4", gridbag, c);
c.weightx = 0.0; //reset to the default makebutton("Button5", gridbag, c); //another row
c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row makebutton("Button6", gridbag, c);
c.gridwidth = GridBagConstraints.REMAINDER; //end row makebutton("Button7", gridbag, c);
c.gridwidth = 1; //reset to the default c.gridheight = 2; c.weighty = 1.0; makebutton("Button8", gridbag, c);
c.weighty = 0.0; //reset to the default c.gridwidth = GridBagConstraints.REMAINDER; //end row c.gridheight = 1; //reset to the default makebutton("Button9", gridbag, c); makebutton("Button10", gridbag, c);
setSize(300, 100); }
public static void main(String args[]) { Frame f = new Frame("GridBag Layout Example"); GridBagEx1 ex1 = new GridBagEx1();
ex1.init();
f.add("Center", ex1); f.pack(); f.setSize(f.getPreferredSize()); f.show(); } }


Variable Index

 o columnWeights
 o columnWidths
 o comptable
 o defaultConstraints
 o layoutInfo
 o MAXGRIDSIZE
 o MINSIZE
 o PREFERREDSIZE
 o rowHeights
 o rowWeights

Constructor Index

 o GridBagLayout()
gridbag レイアウトを作成する。

Method Index

 o addLayoutComponent(Component, Object)
指定されたコンストレイントオブジェクトを使用して、指定されたコンポーネントをレイアウトに追加する。
 o addLayoutComponent(String, Component)
指定されたコンポーネントを指定された名前でレイアウトに追加する。
 o AdjustForGravity(GridBagConstraints, Rectangle)
 o ArrangeGrid(Container)
 o getConstraints(Component)
指定されたコンポーネントの制約を取得する。
 o getLayoutAlignmentX(Container)
x 軸のアラインメントを返す。
 o getLayoutAlignmentY(Container)
y 軸のアラインメントを返す。
 o getLayoutDimensions()
 o GetLayoutInfo(Container, int)
レイアウトの制約をプリントする。
 o getLayoutOrigin()
 o getLayoutWeights()
 o GetMinSize(Container, GridBagLayoutInfo)
 o invalidateLayout(Container)
レイアウトを無効化する。レイアウトマネージャが情報をキャッシュしたら破棄しなければならないことを示す。
 o layoutContainer(Container)
指定されたパネル内のコンテナを配置する。
 o location(int, int)
 o lookupConstraints(Component)
指定されたコンポーネントの制約を取得する。
 o maximumLayoutSize(Container)
指定されたターゲットコンテナの与えられたコンポーネントに対するレイアウトの最大サイズ を返す。
 o minimumLayoutSize(Container)
指定されたパネルのコンポーネントに対するレイアウトに必要な最小サイズ を返す。
 o preferredLayoutSize(Container)
指定されたパネルのコンポーネントに対するレイアウトの推奨サイズ を返す。
 o removeLayoutComponent(Component)
指定されたコンポーネントをレイアウトから削除する。
 o setConstraints(Component, GridBagConstraints)
指定されたコンポーネントに対して制約を設定する。
 o toString()
この GridLayout 値の文字列表現を返す。

Variables

 o MAXGRIDSIZE
  protected static final int MAXGRIDSIZE
 o MINSIZE
  protected static final int MINSIZE
 o PREFERREDSIZE
  protected static final int PREFERREDSIZE
 o comptable
  protected Hashtable comptable
 o defaultConstraints
  protected GridBagConstraints defaultConstraints
 o layoutInfo
  protected GridBagLayoutInfo layoutInfo
 o columnWidths
  public int columnWidths[]
 o rowHeights
  public int rowHeights[]
 o columnWeights
  public double columnWeights[]
 o rowWeights
  public double rowWeights[]

Constructors

 o GridBagLayout
  public GridBagLayout()
gridbag レイアウトを作成します。

Methods

 o setConstraints
  public void setConstraints(Component comp,
                             GridBagConstraints constraints)
指定されたコンポーネントに対して制約を設定します。

パラメータ:
comp - 修正されるコンポーネント
constraints - 適用される制約
 o getConstraints
  public GridBagConstraints getConstraints(Component comp)
指定されたコンポーネントの制約を取得します。制約のコピーが返されます。

パラメータ:
comp - 照会されるコンポーネント
 o lookupConstraints
  protected GridBagConstraints lookupConstraints(Component comp)
指定されたコンポーネントの制約を取得します。返り値はコピーではなく、配置機構で使用される実際のコンストレイントオブジェクトです。

パラメータ:
comp - 照会されるコンポーネント
 o getLayoutOrigin
  public Point getLayoutOrigin()
 o getLayoutDimensions
  public int[][] getLayoutDimensions()
 o getLayoutWeights
  public double[][] getLayoutWeights()
 o location
  public Point location(int x,
                        int y)
 o addLayoutComponent
  public void addLayoutComponent(String name,
                                 Component comp)
指定されたコンポーネントを指定された名前でレイアウトに追加します。

パラメータ:
name - コンポーネントの名前
comp - 追加されるコンポーネント
 o addLayoutComponent
  public void addLayoutComponent(Component comp,
                                 Object constraints)
指定されたコンストレイントオブジェクトを使用して、指定されたコンポーネントをレイアウトに追加します。

パラメータ:
comp - 追加されるコンポーネント
constraints - コンポーネントがレイアウトに追加される場所と方法
 o removeLayoutComponent
  public void removeLayoutComponent(Component comp)
指定されたコンポーネントをレイアウトから削除します。実行してはなりません。

パラメータ:
comp - 削除されるコンポーネント
 o preferredLayoutSize
  public Dimension preferredLayoutSize(Container parent)
指定されたパネルのコンポーネントに対するレイアウトの推奨サイズを返します。

パラメータ:
parent - 配置される必要があるコンポーネント
参照:
minimumLayoutSize
 o minimumLayoutSize
  public Dimension minimumLayoutSize(Container parent)
指定されたパネルのコンポーネントに対するレイアウトに必要な最小サイズを返します。

パラメータ:
parent - 配置される必要があるコンポーネント
参照:
preferredLayoutSize
 o maximumLayoutSize
  public Dimension maximumLayoutSize(Container target)
指定されたターゲットコンテナの与えられたコンポーネントに対するレイアウトの最大サイズを返します。

パラメータ:
target - 配置される必要があるコンポーネント
参照:
Container, minimumLayoutSize, preferredLayoutSize
 o getLayoutAlignmentX
  public float getLayoutAlignmentX(Container parent)
x 軸のアラインメントを返します。これは、コンポーネントを他のコンポーネントに対して相対的にアラインメントする方法を指定します。値は 0 と 1 の間の数値でなければならず、0 は原点に配置、1 は原点から最も離れた場所に配置、0.5 は中間位置に配置というように表現します。

 o getLayoutAlignmentY
  public float getLayoutAlignmentY(Container parent)
y 軸のアラインメントを返します。これは、コンポーネントを他のコンポーネントに対して相対的にアラインメントする方法を指定します。値は 0 と 1 の間の数値でなければならず、0 は原点に配置、1 は原点から最も離れた場所に配置、0.5 は中間位置に配置というように表現します。

 o invalidateLayout
  public void invalidateLayout(Container target)
レイアウトを無効化します。レイアウトマネージャが情報をキャッシュしたら、破棄しなければならないことを示します。

 o layoutContainer
  public void layoutContainer(Container parent)
指定されたパネル内のコンテナを配置します。

パラメータ:
parent - 配置される指定コンポーネント
参照:
Container
 o toString
  public String toString()
この GridLayout 値の文字列表現を返します。

オーバーライド:
クラス ObjecttoString
 o GetLayoutInfo
  protected GridBagLayoutInfo GetLayoutInfo(Container parent,
                                            int sizeflag)
レイアウトの制約をプリントします。デバッグに有効です。

 o AdjustForGravity
  protected void AdjustForGravity(GridBagConstraints constraints,
                                  Rectangle r)
 o GetMinSize
  protected Dimension GetMinSize(Container parent,
                                 GridBagLayoutInfo info)
 o ArrangeGrid
  protected void ArrangeGrid(Container parent)

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス