last modified: Jan./29th/2002
前節で紹介した4つのライフタイムメソッドを実装した例を挙げます。 appletviewer
で実行することを想定したアプレットです。細かい規則は無視して、ここでは四つのメソッドが自動的に実行されることを確認してください。
Lifetime.java
:
import java.applet.Applet; public class Lifetime extends Applet{ //プレットの初期化 public void init(){ System.out.println("init()"); System.out.println("アプレット開始"); } //アプレットの開始 public void start(){ System.out.println("start()"); System.out.println("アプレット再開"); } //アプレットの一時停止 public void stop(){ System.out.println("stop()"); System.out.println("アプレット停止"); } //アプレットの終了 public void destroy(){ System.out.println("start()"); System.out.println("アプレット終了"); } }
ライフタイムに応じて対応するメソッドが自動的に実行されるので、標準出力であるコマンドラインにメッセージが出力されるはずです。
lifetime.html
の一部分:
<p><applet code="Lifetime.class" width="100" height="50"> アプレットが実行できない場合の代替内容。 </applet></p>
HTML 文書の全体例は、「Including an applet」を参照ください。
このサンプルは、アプレットのライフタイムに応じて、標準出力にメッセージを出力します。最初にコンパイルして、適切な HTML 文書を appletviewer
によって実行しましょう:
C:\Java>javac Lifetime.java C:\Java>appletviewer lifetime.html
public void init()
メソッドアプレットは起動すると、まず public void init()
メソッドが実行されます。このメソッドは Applet
クラスで実装されており、必要に応じてオーバーライドすることで当該アプレットの初期化の役割を果たします。
続いて、自動的に public void start()
メソッドが実行されます。
![]() |
図:アプレット実行時の画面 |
public void stop()
メソッドアプレットが最小化(アイコン化)、非アクティブ化、当該ウェブページから他のページへ移動するなどすると、自動的に public void stop()
メソッドが実行され、アプレットはメモリ上に残りながら一時停止します。
stop() アプレット停止
public void start()
メソッド再びアプレットがアクティブ化すれば、自動的に public void start()
メソッドが実行されて、アプレットの実行が再開されます。
start() アプレット再開
public void destroy()
メソッドアプレットが実行されている状態で、終了したりブラウザが閉じたりすれば、自動的に public void stop()
メソッドが実行されて一時停止し、続いてこれも自動的に public void destroy()
メソッドが実行されてアプレットが占有していたメモリは完全に解放されます。
stop() アプレット停止 destroy() アプレット終了 C:\Java>
ここでは自動的に実行される4つのライフタイム・メソッドを実装しました。これらは Applet
クラスで実装されたものをオーバーライドしたものです。
必ずしも全てのメソッドをオーバーライドする必要はなく、目的に応じて必要な分だけオーバーライドすればいい事になっています。