全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
クラス 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 に設定されています。 さらにコンポーネントは、以下のデフォルトとは異なる制約を持っています。
- Button1, Button2, Button3:
weightx=1.0
- Button4:
weightx=1.0,
gridwidth=GridBagConstraints.REMAINDER
- Button5:
gridwidth=GridBagConstraints.REMAINDER
- Button6:
gridwidth=GridBagConstraints.RELATIVE
- Button7:
gridwidth=GridBagConstraints.REMAINDER
- Button8:
gridheight=2, weighty=1.0,
- Button9, Button 10:
gridwidth=GridBagConstraints.REMAINDER
上記の例を実装したサンプルコードを示す:。
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();
}
}
-
columnWeights
-
-
columnWidths
-
-
comptable
-
-
defaultConstraints
-
-
layoutInfo
-
-
MAXGRIDSIZE
-
-
MINSIZE
-
-
PREFERREDSIZE
-
-
rowHeights
-
-
rowWeights
-
-
GridBagLayout()
- gridbag レイアウトを作成する。
-
addLayoutComponent(Component, Object)
- 指定されたコンストレイントオブジェクトを使用して、指定されたコンポーネントをレイアウトに追加する。
-
addLayoutComponent(String, Component)
- 指定されたコンポーネントを指定された名前でレイアウトに追加する。
-
AdjustForGravity(GridBagConstraints, Rectangle)
-
-
ArrangeGrid(Container)
-
-
getConstraints(Component)
- 指定されたコンポーネントの制約を取得する。
-
getLayoutAlignmentX(Container)
- x 軸のアラインメントを返す。
-
getLayoutAlignmentY(Container)
- y 軸のアラインメントを返す。
-
getLayoutDimensions()
-
-
GetLayoutInfo(Container, int)
- レイアウトの制約をプリントする。
-
getLayoutOrigin()
-
-
getLayoutWeights()
-
-
GetMinSize(Container, GridBagLayoutInfo)
-
-
invalidateLayout(Container)
- レイアウトを無効化する。レイアウトマネージャが情報をキャッシュしたら破棄しなければならないことを示す。
-
layoutContainer(Container)
-
指定されたパネル内のコンテナを配置する。
-
location(int, int)
-
-
lookupConstraints(Component)
- 指定されたコンポーネントの制約を取得する。
-
maximumLayoutSize(Container)
- 指定されたターゲットコンテナの与えられたコンポーネントに対するレイアウトの最大サイズ を返す。
-
minimumLayoutSize(Container)
- 指定されたパネルのコンポーネントに対するレイアウトに必要な最小サイズ を返す。
-
preferredLayoutSize(Container)
-
指定されたパネルのコンポーネントに対するレイアウトの推奨サイズ を返す。
-
removeLayoutComponent(Component)
- 指定されたコンポーネントをレイアウトから削除する。
-
setConstraints(Component, GridBagConstraints)
-
指定されたコンポーネントに対して制約を設定する。
-
toString()
- この GridLayout 値の文字列表現を返す。
MAXGRIDSIZE
protected static final int MAXGRIDSIZE
MINSIZE
protected static final int MINSIZE
PREFERREDSIZE
protected static final int PREFERREDSIZE
comptable
protected Hashtable comptable
defaultConstraints
protected GridBagConstraints defaultConstraints
layoutInfo
protected GridBagLayoutInfo layoutInfo
columnWidths
public int columnWidths[]
rowHeights
public int rowHeights[]
columnWeights
public double columnWeights[]
rowWeights
public double rowWeights[]
GridBagLayout
public GridBagLayout()
- gridbag レイアウトを作成します。
setConstraints
public void setConstraints(Component comp,
GridBagConstraints constraints)
- 指定されたコンポーネントに対して制約を設定します。
- パラメータ:
- comp - 修正されるコンポーネント
- constraints - 適用される制約
getConstraints
public GridBagConstraints getConstraints(Component comp)
- 指定されたコンポーネントの制約を取得します。制約のコピーが返されます。
- パラメータ:
- comp - 照会されるコンポーネント
lookupConstraints
protected GridBagConstraints lookupConstraints(Component comp)
- 指定されたコンポーネントの制約を取得します。返り値はコピーではなく、配置機構で使用される実際のコンストレイントオブジェクトです。
- パラメータ:
- comp - 照会されるコンポーネント
getLayoutOrigin
public Point getLayoutOrigin()
getLayoutDimensions
public int[][] getLayoutDimensions()
getLayoutWeights
public double[][] getLayoutWeights()
location
public Point location(int x,
int y)
addLayoutComponent
public void addLayoutComponent(String name,
Component comp)
- 指定されたコンポーネントを指定された名前でレイアウトに追加します。
- パラメータ:
- name - コンポーネントの名前
- comp - 追加されるコンポーネント
addLayoutComponent
public void addLayoutComponent(Component comp,
Object constraints)
- 指定されたコンストレイントオブジェクトを使用して、指定されたコンポーネントをレイアウトに追加します。
- パラメータ:
- comp - 追加されるコンポーネント
- constraints - コンポーネントがレイアウトに追加される場所と方法
removeLayoutComponent
public void removeLayoutComponent(Component comp)
- 指定されたコンポーネントをレイアウトから削除します。実行してはなりません。
- パラメータ:
- comp - 削除されるコンポーネント
preferredLayoutSize
public Dimension preferredLayoutSize(Container parent)
- 指定されたパネルのコンポーネントに対するレイアウトの推奨サイズを返します。
- パラメータ:
- parent - 配置される必要があるコンポーネント
- 参照:
- minimumLayoutSize
minimumLayoutSize
public Dimension minimumLayoutSize(Container parent)
- 指定されたパネルのコンポーネントに対するレイアウトに必要な最小サイズを返します。
- パラメータ:
- parent - 配置される必要があるコンポーネント
- 参照:
- preferredLayoutSize
maximumLayoutSize
public Dimension maximumLayoutSize(Container target)
- 指定されたターゲットコンテナの与えられたコンポーネントに対するレイアウトの最大サイズを返します。
- パラメータ:
- target - 配置される必要があるコンポーネント
- 参照:
- Container, minimumLayoutSize, preferredLayoutSize
getLayoutAlignmentX
public float getLayoutAlignmentX(Container parent)
- x 軸のアラインメントを返します。これは、コンポーネントを他のコンポーネントに対して相対的にアラインメントする方法を指定します。値は 0 と 1 の間の数値でなければならず、0 は原点に配置、1 は原点から最も離れた場所に配置、0.5 は中間位置に配置というように表現します。
getLayoutAlignmentY
public float getLayoutAlignmentY(Container parent)
- y 軸のアラインメントを返します。これは、コンポーネントを他のコンポーネントに対して相対的にアラインメントする方法を指定します。値は 0 と 1 の間の数値でなければならず、0 は原点に配置、1 は原点から最も離れた場所に配置、0.5 は中間位置に配置というように表現します。
invalidateLayout
public void invalidateLayout(Container target)
- レイアウトを無効化します。レイアウトマネージャが情報をキャッシュしたら、破棄しなければならないことを示します。
layoutContainer
public void layoutContainer(Container parent)
- 指定されたパネル内のコンテナを配置します。
- パラメータ:
- parent - 配置される指定コンポーネント
- 参照:
- Container
toString
public String toString()
- この GridLayout 値の文字列表現を返します。
- オーバーライド:
- クラス Object の toString
GetLayoutInfo
protected GridBagLayoutInfo GetLayoutInfo(Container parent,
int sizeflag)
- レイアウトの制約をプリントします。デバッグに有効です。
AdjustForGravity
protected void AdjustForGravity(GridBagConstraints constraints,
Rectangle r)
GetMinSize
protected Dimension GetMinSize(Container parent,
GridBagLayoutInfo info)
ArrangeGrid
protected void ArrangeGrid(Container parent)
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス