last modified: Feb./14th/2003; Since: Jan./29th/2002
アプレットはブラウザ上で動作する小さな Java アプリケーション・プログラです。ブラウザが当該ページを読み込んでから、最小化されたり非アクティブになったり、別のページに移動したり、終了したりすることで、アプレットの動作は自動的に変更されます。具体的には、タイミングに応じた特定のメソッドが自動的に実行されます。これらは java.applet.Applet
クラスで定義されていますが、目的に応じて自分で作ったクラス内でオーバーライドします。
基本的なライフタイムは次の四つです:
init()
stop()
start()
stop()
状態だったアプレットが再開されるときに自動的に実行されます。destroy()
stop()
メソッドが実行されてから destroy()
メソッドが実行されます。どのメソッドもオーバーライドされますが、 destroy()
メソッドはあまりオーバーライドされません。終了作業の殆どは stop()
メソッドで十分に実装され得るからです。実際に、殆どのアプレットでは、明示的に終了するのではなく、一旦別ページに移動したユーザが戻ってこないのでガーベッジ・コレクタによってメモリ上から開放されることが殆どです。 destroy()
メソッドでだけ実装したい処理は殆ど考えられません。
また、そのためかどうか分かりませんが、別ページへの移動によって destroy()
メソッドが実行されるブラウザもあります。この場合は、期待していた動作と異なるケースが発生しますので、クロスブラウザに注意が必要です。
次にライフタイムの移り行きを実装で試すサンプルを紹介します。