第9回目-2004/12/6

レイアウト機能


p142〜156をただ、ひたすらやってみましょう。

p147の手順7:まず最初に、AWTのPanelを配置します。そのPanelのlayoutプロパティをBorderLayoutにします。(p121の手順3と同様です)

p151からの説明に関して:左側の上のペインにあるUserBorderLayout.htmlを右ボタンでクリックして、「"UseBorderLayout"を使用して実行」を選んでみてください。JBuilderとは別の実行環境を使ってアプレットを実行でき、その場でウインドウのサイズを修正することができます。

p153からの説明は、JBuilderのバージョンが変わって大きく違ってきています。this.getContentPane()によって、アプレットの中身を参照し、それに対してaddメソッドを使ってパネル(panel1)を追加しています。レイアウト機能はその前に、panel1.setLayout(borderLayout1)で設定しています。つまり、パネルのレイアウト機能を決めて、そのパネルをアプレットの中身にしているということです。


練習問題

9-1  いつもはAppletを作ってもらっているが、Applicaitonを作ってみよう。オブジェクトギャラリで、Applicationを選択してアプリケーションを作る。そして、とりあえず実行することを確認する。(プロジェクト名などは適当でかまわない。

そして、Frame1というクラスのプログラムが作成されているが、これが、ウインドウの内容を記述するためのものと考えればよい。次のように作業をしてみること。

Frame1の設計ページを表示する。最初に、AWTのPanelを配置する。そのデフォルトのレイアウトは、BorderLayoutである。ボタンを、NORTHの位置に配置しておく。もう1つボタンを、WESTの位置に配置しておく。

ツールバーにあるSwing Containerのタブで、JPanelというものがあるので、Centerに配置する。このJPanelはその中に自由にコンポーネントを配置できるものだ。

JPanelを選択しているのを確認しよう。(コンポーネントごとの選択の処理は、こういう状況だと、左側のツリー構造に張った表示を見るのがわかりやすい)。そして、JPanelのlayoutをnullにする。

JPanelの中にボタンやチェックボックスなどを適当に配置してみよう。

実行してみる。ウインドウの大きさを変更することができるはずであるが、ウインドウの大きさにともなって、BorderLayoutの5つの領域に配置したコンポーネントは自動的に大きさが追随することもチェックしよう。