next up previous
: FlowLayout : レイアウトマネージャ : レイアウトマネージャ

レイアウトマネージャの役割

[*]章の例では,setBoundsメソッドを用いてGUIコンポー ネントの位置や大きさを指定した. しかし,Javaのプログラムは,様々な環境,例えば,携帯電話やPDAなどWindowsとは画面 の解像度や大きさが全く異なるような環境でも同一のプログラムを実行することが可能で あり,このような場合には,setBoundsメソッドを用いてコンポーネント上の座標 で位置や大きさを指定すると,Windows上では表示されていたボタンが携帯電話の上では 表示されなくなってしまうとか,文字の大きさとアンバランスになるなどの問題が発生す る.

AWTでは,画面の解像度や大きさに依存せずにGUIコンポーネントを配置するための方法と してレイアウトマネージャが用意されている. レイアウトマネージャは,「あるコンポーネントの隣」や「上のほう」といった抽象的な 位置関係を指定するだけで,コンテナ内部のGUIコンポーネントを自動的に配置する.

表 [*]にレイアウトマネージャの一覧を示す. 本章の以降では代表的なレイアウトマネージャであるFlowLayoutBorderLayoutGridLayoutについて解説する. この他のレイアウトマネージャについては,インターネット上の情報や書籍などを参考に してほしい.


表: AWTレイアウトマネージャ
レイアウトマネージャ 説明
FlowLayout コンポーネントを追加された順に左から右に配置する. コンポーネントを右に配置する余裕がない場合は,下に折り返されて配置される.
BorderLayout コンポーネントを中央と上下左右の最大5カ所に配置する.
GridLayout コンポーネントを追加された順に左から右,上から下に格子上に並べる. すべてのコンポーネントの大きさは同一となる.
GridBagLayout コンポーネントを格子上に並べる. コンポーネントの座標や大きさを格子単位で指定することができる.
CardLayout 各コンポーネントをコンテナを同一の大きさにし,重ねて配置する. 同時に表示されるのは指定されたコンポーネントのみであり,これを切り替えること ができる.



U-GM\murao 平成14年7月5日