Previous | Next | Trail Map | Writing Applets |

アプレットのユーザインタフェースを作成する


GUI を作成する

ほとんどのアプレットはグラフィカルユーザインタフェース (GUI) を備えている。ユーザインタフェースを作成する(in the Creating a User Interface trail)の節には、アプレ ットの GUI の例が多数記載されている。 このページでは、アプレットの GUI に特有な少数の項目について説明する。

Applet はパネルである。
Applet は AWT Panel クラスのサブクラスであるため、Panel と同じように、 他の Component を含むことができる。 また、Panel のように、AWT の描画とイベントの階層にも関与する。
アプレットは既存のブラウザウィンドウに現れる。
これには 2 つの意味がある。 1 つは、GUI ベースのアプリケーションと異なり、アプレットはそれ自体を表示する ウィンドウを作成する必要がないということである。(理由があればウィンドウを新たに作成してもかまわないが、ブラウザウィンドウ内に表示するのが普通である。) もう 1 つは、ブラウザの実装によっては、アプレットがそれ自体に構成要素を追加した後でvalidate() を呼び出さないかぎり、アプレットの構成要素が表示され ない可能性があることである。幸い、validate() を呼び出しても害を与えることはない。
各アプレットのサイズはユーザによって前もって決定されている。
<APPLET> タグはアプレットの幅と高さの指定を必要とする。また、ブラウザがアプレットにアプレット自体のサイズ変更を許可するとは限らない。そのため、アプレットは理想的ではなくても固定された量のスペースに合わせなくてはならない 。スペースの量がプラットフォームにはぴったりであっても、アプレットの (ボタンのような) プラットフォーム特有の部分については、別のプラットフォームでは異なる量のスペースを必要とすることがある。 この問題には、アプレットを組み込むページに必要と思われるよりも少し多めにスペースを指定するようにし、余分なスペースにうまく順応する GridBagLayout や BorderLayout のような柔軟なレイアウトを使用することによって、対応することができる。
アプレットは Applet の getImage() メソッドを使用してイメージをロードする。
Applet クラスには getImage() の便利な書式が用意されている 。1 つの引数としてベースの URL を指定し、2 番目の引数としてベース URL からの相対的な画像ファイルの位置を指定するようになっている。Applet のgetCodeBase()getDocumentBase() メソッドはほとんどのアプレットが使用するベースの URL を提供する。アプレットが常に必要とするイメージや、バックアップとして必ず用意すべきイメージは通常、アプレットのコードがロードされた発信元の位置 (コードベース) から相対的に指定される。アプレットユーザから指定されるイメージ (HTML ファイルでパラメータによって指定されることが多い) は 通常、そのアプレットを組み込んでいるページ (文書ベース) と相対的な位置関係にある。
Applet クラスは (多くの場合、それらが使用するデータファイルも) ネットワークでロードされ、これには時間がかかる。
アプレットではユーザに意識される起動時間を短くするためにいくつかのことを行うことができる 。その 1 つは、アプレットの Applet サブクラスを、すぐに状態メッセージを表示できるよう小さくすることである。また、アプレットのクラスやデータの一部がすぐには使われない場合、アプレットは、それらが必要とされる前に参照によってプリロードしておける。たとえば、 AppletButton クラスは、そのメインスレッドの最初に、ボタンが起動するウィンドウのクラスオブジェクトを獲得する。この主な目的はクラスが正しいことを確認することであるが、これ以外にも、必要となる前にクラスファイルをロードさせる利点がある。こうすると、クラスが依然としてロードされなければならない状態にある場合よりも、クラスのインスタンス化がずっと高速に行えるのである。


Previous | Next | Trail Map | Writing Applets |

アプレットのユーザインタフェースを作成する