コンテナ内にコンポーネントを配置する |
次のアプレットで、BorderLayout が動作する様子を示す。使用中のブラウザは 1.0 Java アプレットを実行することができない。したがってここではプログラムが起動するウィンドウの画像を示す。
上記のアプレットからわかるように、 BorderLayout には北領域、南領域、東領域、西領域、中央領域の 5 つの領域がある。 ウィンドウを大きくすると、新たに使用可能になったスペースの大半を中央領域が占める。他の領域は、使用可能なスペースをすべて埋めるのに必要なだけの大きさしか広がらない。
以下に、BorderLayout とそれが管理するコンポーネントを作成するコードを示す。プログラム全体も参照できる。 このプログラムは、AppletButton を利用してアプレットの中で動作するか、またはアプリケーションとして動作する。この例 は Window サブクラスにあり、各 Window はすでに BorderLayout インスタンスと結び付けられているため、以下に示すコードの 1 行目はこの例では不要である。 ただし、このコードが Window ではなく Panel にある場合は、1 行目も必要となる 。
setLayout(new BorderLayout()); setFont(new Font("Helvetica", Font.PLAIN, 14)); add("North", new Button("North")); add("South", new Button("South")); add("East", new Button("East")); add("West", new Button("West")); add("Center", new Button("Center"));
重要: BorderLayout を使用するコンテナにコンポーネントを追加する場合は、add()
メソッドの引数 2 個のバージョンを使用しなければならない。また、最初の引数は "North"
、"South"
、"East"
、"West"
、"Center"
のどれかにする必要がある。最初の引数に無効な値を指定したり、add()
の引数 1 個のバージョンを使用すると、コンポーネントが見えなくなるおそれがある。
デフォルトでは、BorderLayout は管理するコンポーネントの間に空白を置かない。上記のアプレットで、目に見える空白があるのは、Button がその表示エリアの周りに余分なスペースを確保しているためである。 次の構築子を使用すると、空白を (ピクセル単位で) 指定することができる。
public BorderLayout(int horizontalGap, int verticalGap)
コンテナ内にコンポーネントを配置する |