5. AWTについて

GUI を使ったプログラムをはじめる前に

(1) AWT

 AWTとは Abstract Window Toolkit の略で、 GUI を構成するための部品群のことをいいます。たとえば、ボタンやリスト、フレームといったようなものです。

 GUI を構築する場合、ウインドウのように入れ物になるものと、そのなかに入れるボタンのようなものと大きく2種類に分かれます。前者の入れ物に当たる物をコンテナ(Container)、後者の中にいれる部品をコンポーネント(Component)といいます。

 Java で GUI を構築する場合、java.awt パッケージのクラス群を使っていきます。このパッケージの中で、GUI の部品のクラスの中での最上位にあたるのが、Component クラスです。すべての部品は Component クラスのサブクラスになります。

 Component クラスのサブクラスには Container クラスがあります。つまり、Container は Component の1つだと考えて良いということです。少し難しいですね。次の例でもう少し考えてみましょう。



(2) ケーキを食べる例

 さて、Container が Component の1つであるとはどういうことでしょうか? ここでは、ケーキを食べるときを考えてみます。

 まず、机を用意しましょう。次に、お皿とスプーンを置きます。最後にお皿の上においしそうないちごのケーキを置きます。

 この例を Container と Component の関係で考えてみると、まず、机の上にお皿とスプーンを置いたので、机は Container、スプーンが Component と考えても良いですね。次にお皿の上にケーキを置きましたから、お皿はContainerですね。ということは、お皿は Component であり、Container でもあることになります。


 つまり、Container の中に Container を部品として入れても良いということになります。具体的な例はこの後の GUI の構築で見ていきます。


(3) 部品の置き方のルール

 部品を置いていく入れ物になる Container クラスには setLayout(LayoutManager m) という形式のメソッドがあります。このメソッドは部品の置き方のルールを決めるメソッドです。

 Java では座標を指定して部品を配置することは推奨されません。その理由は、Java が様々なデバイスで動く可能性があるからです。ほとんどはパソコンを使って動かすのでしょうが、中には PDA のような携帯端末や、いづれは携帯電話でも Java が動くという話もあります。

 このとき、もし大きなディスプレイに合わせた部品配置をしてしまうと、画面内に入りきらない場合がでてきます。これを避けるために、Java ではレイアウトという配置のルールだけを指定して、実際の配置は Java に任せてしまうという方法を使います。

 Java では様々なレイアウトが用意されていますが、次では基本的な3つのレイアウトを見ていきます。


前の章(4.画像と音声)   次の章(6.レイアウトマネージャ)