コンテナ内にコンポーネントを配置する |
次のアプレットで、GridBagLayout が動作する様子を示す。使用中のブラウザは 1.0 Java アプレットを実行することができない。したがってここではプログラムが起動するウィンドウの画像を示す。
GridBagLayout は AWT が提供するレイアウトマネージャの中で最も柔軟性に富み、かつ複雑なものである。 上記のアプレットからわかるように、GridBagLayout は行と列のグリッドの中にコンポーネントを配置し、指定されたコンポーネントについては複数の行や列にスパン化することも可能である。すべての行が同じ高さをもつとは限らず、すべての列が同じ幅をもつとは限らない。基本的には、GridBagLayout はグリッドのます目(セル)にコンポーネントを配置した後、コンポーネントの推奨サイズを参照してセルをどのくらいの大きさにすべきかを判別する。
上記のアプレットの起動するウィンドウを大きくすると、新たに増えた垂直方向のスペースのすべてを最後の行が使い、新たに増えた水平方向のスペースはすべての列に均等に分割される。このようなサイズ変更の振る舞いは、アプレットが GridBagLayout の中で個別のコンポーネントに割り当てる重みに基づいている。また、各コンポーネントはできるだけ多くのスペースを獲得しようとする。この振る舞いもアプレットの指定によるものである。
アプレットは各コンポーネントに対して制約 を指定することにより、そのコンポーネントのサイズと位置の特性を指定する。制約を指定するには、GridBagConstraints オブジェクトでインスタンス変数を設定 し、GridBagLayout に制約とコンポーネントを結び付けるよう指示する (setConstraints()
メソッドを使用する)。
この後のページでは、設定可能な制約について説明し、設定方法の例を紹介する。
このページでは、GridBagConstraints のもつインスタンス変数、そこに設定できる値、および結果の GridBagConstraints を Component と結び付ける方法について説明する。
このページでは、このページで示すアプレットのコードについて解説しながら全体をまとめる。
GridBagLayout の使用例は、このチュートリアル全体で数多く見られる。 以下に、GridBagLayout を使用するプログラムをいくつか紹介する。
- DialogWindow.java、 アプレットから起動できるダイアログの例を示したもので、ダイアログの使用方法 に記載されている。
- ListDemo.java、動作の様子をリストの使用方法 で見ることができる。
- TextDemo.java、動作の様子を テキストエリアとテキストフィールドの使用方法 で見ることができる。
- CoordinatesDemo.java と RectangleDemo.java、動作の様子を形状を描画する で見ることができる。
- ShowDocument.java、動作の様子をブラウザとコミュニケートする で見ることができる。
コンテナ内にコンポーネントを配置する |