ウインドウの内容

ウインドウの内容

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

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

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

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

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

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

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


描画

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

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

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

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

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

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

paintComponentの説明


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

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

Sample3.javaとLesson10.javaを作成、コンパイルし

で実行できます。

Lesson10クラスのmainメソッドとして同じものを記述すれば Lesson10.javaだけを作成、コンパイルし

で実行できます。

ウインドウの内容 (最終更新日時 2009-11-27 07:24:05 更新者 masahiko)