Previous | Next | Trail Map | Writing Applets | 目次


アプレットの概説

このレッスンではアプレットの部品について説明する。アプレットのコンパイルと HTML ページへの組み込みの経験がなく、それをまず行ってみたいと思う場合は、入門: "Hello World" アプレッ ト に記載されたステップバイステップによる説明を参照すること。

すべてのアプレットは Applet クラスのサブクラスを作成することによって実装され る。次の図に Applet クラスの継承階層を示す。今後数ページで説明していく、アプ レットが何をどのように行えるかのかなりの部分は、この階層で決定される。

java.lang.Object
   |
   +----java.awt.Component
           |
           +----java.awt.Container
                   |
                   +----java.awt.Panel
                           |
                           +----java.applet.Applet

Simple アプレット

以下に、Simple という名前のアプレットのソースコードを示す。Simple アプレット は、ユーザがそのアプレットのあるページを最初に訪問したときなど、アプレットの ライフにおける主要なマイルストンが発生するたびに説明文を表示する。 この後のページではこの Simple アプレットを使用し、多くのアプレットに共通する コンセプトがはっきりわかるように組み上げていく。 Java ソースコードがわかりにくいと感じる場合は、Java プログラムを書く で言語そのものについてまず学習する方がよい。

import java.applet.Applet;
import java.awt.Graphics;

public class Simple extends Applet {

    StringBuffer buffer = new StringBuffer();

    public void init() {
        addItem("initializing... ");
    }

    public void start() {
        addItem("starting... ");
    }

    public void stop() {
        addItem("stopping... ");
    }

    public void destroy() {
        addItem("preparing for unloading...");
    }

    void addItem(String newWord) {
        System.out.println(newWord);
        buffer.append(newWord);
        repaint();
    }

    public void paint(Graphics g) {
        g.drawRect(0, 0, size().width - 1, size().height - 1);
        g.drawString(buffer.toString(), 5, 15);
    }
}

アプレットのライフサイクル

Simple アプレットにより、あらゆるアプレットのライフのマイルストンについて学 ぶことができる。

マイルストンのためのメソッド

Applet クラスは、マイルストン -- アプレットのライフサイクルでの主要なイベン ト -- が発生するときにシステムが呼び出すメソッドを定義し、アプレット実行の 枠組みを提供する。 ほとんどのアプレットは、マイルストンに適切に応答できるよう、このようなメソッ ドの一部またはすべてを上書きする。

ドローイングとイベント処理のためのメソッ ド

アプレットは AWT Component クラスのドローイングおよびイベント処理のメソッド を継承する。 (AWT は Abstract Windowing Toolkit を表す。アプレットとアプリケーションはそ のクラスを使用してユーザインタフェースを作り出す。) ドローイング は、イメージの描画、ボタンのようなユーザインタフェースコンポーネントの表現、 図形要素の使用など、画面上でのアプレットの表現に関わるあらゆることを指す。イベント処理 は、ファイルの保存やウィンドウのアイコン化などのより 抽象的なイベントに加え、マウスクリックやキーを押す動作などユーザ入力の検出お よび処理を指す。

UI コンポーネントを追加するためのメソッ ド

アプレットは AWT Container クラスから継承する。 つまり、アプレットはボタン、ラベル、ポップアップリスト、スクロールバーのよう なユーザインタフェースオブジェクトである Component を保持するよう意図されて いるということである。 他の Container 同様、アプレットはレイアウトマネージャを使用して Component の位置を決める。

アプレットでのスレッド

常に目で確認できるわけではないが、最も単純なアプレットでさえマルチスレッドで 動作する。 アプレットの多くは、そのアプレットや他のアプレットが動作しているアプリケーシ ョンの性能に影響を与えず良好に実行できるように、独自のスレッドを作成し使用し ている。

アプレットにできることとできないこと

セキュリティ上の理由から、ネットワークにロードされるアプレットにはいくつかの 制約が課されている。 1 つは、アプレットが実行しているコンピュータ上では通常、ファイルの読み書きが できないこと、 もう 1 つは、アプレットはその発信元であるホストを除き、ネットワーク接続を確 立できないことである。 このような制約がある一方、アプレットはできそうもないと思えることをいくつか行 うことができる。

HTML ページにアプレットを追加する

アプレットを記述し終えたら、それが実行できるように、HTML ページに追加する必 要がある。

要約

このレッスンにあるすべてのページを読み終えれば、アプレットを書くために必要な ほとんどのことを理解できるであろう。


Previous | Next | Trail Map | Writing Applets | 目次