目次 |
上に示した 2 つのプログラムの画像はそれぞれ、5 つのボタンを表示する。両方のプログラムの Java コードはほとんど同じである。にもかかわらず、なぜ違って見えるのか? これは、ボタンの配置を制御するレイアウトマネージャ が違うからである。
レイアウトマネージャは、コンテナにあるコンポーネントのサイズと位置を制御するオブジェクトであり、LayoutManager インタフェースに従っている。デフォルトでは、すべての Container オブジェクトは、その配置を制御する LayoutManager オブジェクトをもっている。Panel オブジェクトのデフォルトのレイアウトマネージャは FlowLayout クラスのインスタンスであり、 Window オブジェクトのデフォルトのレイアウトマネージャは BorderLayout クラスのインスタンスである。
このレッスンでは、AWT が提供するレイアウトマネージャの使用法について説明した後、読者独自のレイアウトマネージャを作成する方法を示す。さらに、レイアウトマネージャを使用せずに、コンポーネントの絶対的な位置とサイズを指定する方法についても記載する。 このレッスンの最後では、配置に関して起こりやすい問題とその解決策について説明する。
レイアウトマネージャを使用する
このセクションではレイアウトマネージャの使用法を学習する。 AWT が提供するレイアウトマネージャのそれぞれについて、使用に際しての一般的なルールと細かい手順を説明する。特製のレイアウトマネージャを作成する
AWT のレイアウトマネージャを使用する代わりに、読者自身のレイアウトマネージャ を作成することができる。 この場合、あらゆるレイアウトマネージャが定義しなければならない 5 つのメソッドを明記した、LayoutManager インタフェースを実装する必要がある。レイアウトマネージャを使用しない (絶対的な位置決めを行う )
レイアウトマネージャを使用せずに、コンポーネントの位置を決めることができる。 一般に、この方法はコンポーネントの絶対位置を指定するものであり、使用するのは 1 つのプラットフォームでしか実行されないアプリケーションの場合だけである。 絶対的な位置決めは、アプレットやその他のプラットフォームに依存しないプログラ ムにとっては適さない。コンポーネントのサイズはプラットフォームによって変わるからである。配置に関して起こりやすい問題 (とその解決策)
配置に関して最も起こりやすい問題のいくつかは、コンポーネントの表示が小さすぎたり、まったく表示されないことに関連している。 このセクションでは、このような問題や、他の配置に関して起こりやすい問題の解決策について説明する。
目次 |