awtコンポーネントのレイアウト

awtコンポーネントのレイアウトについて説明します。
awtコンポーネントは、それを含む Container のオブジェクトの内部に 自動的にレイアウトされます。 レイアウトのポリシー(方針)は、 Container オブジェクトに専用のクラスを通じて設定されます。
デフォルトの設定では、 Containerオブジェクトに採用されるレイアウトのポリシーは FlowLayout です。 そのポリシーは、 「左から右に順にコンポーネントを置き、はみ出たら下の行に移る。」 というものです。 (要するに通常の文章の表示と同じレイアウト)

この他に JDKで用意されたレイアウトのクラスには、 次のようなものがあります。

レイアウト・クラスとその機能
クラス名 ポリシーの概要
FlowLayout 左から右へ、あふれたら下へ
BorderLayout "North","South","West","East",
"Center" で Container内の位置を指定
CardLayout 複数のコンポーネントのうちの
1つを選んで順番に表示する
GridLayout 縦横の列に格子状に配置
GridBagLayout GridLayout の拡張。 各コンポーネントの
サイズや広がりをコントロール可能

デフォルト以外のレイアウトを利用するためには、 使用するレイアウトのクラスのデータを生成し、 それを目的の Container オブジェクトに設定します。


/** ボタンのレイアウトをテストする CardPanel クラス */

public class CardPanel extends Applet {

   /** インターフェイスの部品の宣言 */ 

      public Button buttons[];

   /** レイアウトの宣言 */

      public CardLayout lay;

   /** レイアウトを CardLayoutに設定 */

      public void init() {

            lay = new CardLayout();  //レイアウトの生成
            setLayout( lay );        //レイアウトの設定
                  :
                  :
            add( button[0] );        //部品を追加