welcome: please sign in

2009-11-27 07:14:34時点のリビジョン14

メッセージを消す
location: ウインドウの内容

ウインドウの内容

窓は窓枠と窓ガラスでできています。

窓枠に対応するのがJFrameです。

窓ガラスがはまる部分に処理内容に対応した部品を配置し、処理を記述します。

枠の内側で部品を配置できる場所をContentPaneと呼び、クラスはContainerです。

ここにaddメソッドを用いて部品を配置します。

このプログラムでは基本的な部品であるJPanelを配置しています。

Containerがjava.awtパッケージのクラスなのでimport文が増えています。


描画

GUIではプログラムの実行開始時にだけ、ウインドウ内部が描画されるわけではありません。

ウインドウの大きさが変えられたり、ボタンが押されたり、文字が入力されたり など、いろいろな場面で描画が行われます。

JPanel上の描画が必要になったときには、JPanelクラスの paintComponentメソッドが実行されます。

JPanelクラスのpaintComponentメソッドではプログラムで表示内容を指定できません。

JPanelクラスを継承してサブクラスを作成し、paintComponentメソッドを記述します。

サブクラス名を Lesson10 とした例を示します。

上のサンプルプログラムでJPanelとなっていた箇所を、 このクラス(Lesson10)で置き換えます。

するとContainerに配置されるのはLesson10クラスのインスタンスとなり、 描画が必要なときにはLesson10クラスのpaintComponentが実行されます。