JBKプラグインを使用してアプレットを実行する際のアプレットの終了時の処理を説明します。
ブラウザ上で実行されているアプレットは、以下の場合に終了します。
他のHTMLファイルが呼び出された時
ブラウザのウィンドウが閉じられた時
アプレットの終了時には、そのアプレットのクラスのstop()メソッドとdestroy()メソッドが呼び出されます。
JBKプラグインでは、ブラウザのウィンドウが閉じられる時に、そのウィンドウ上のアプレットを先に終了させ、その後で、ブラウザのウィンドウを閉じる、という処理を行っています。これにより、ブラウザが終了する前に、アプレットの終了処理が確実に呼び出されることを保証しています。
ブラウザのウィンドウが閉じられる際に、アプレットの終了処理に時間がかかる場合には、JBKプラグインは以下のようなメッセージボックスを表示します。
図2.3 アプレットの終了処理実行中を示すメッセージボックス
これは、メッセージボックスに表示されているアプレットが終了処理中であることを示します。アプレットの終了処理が完了すると、このメッセージボックスは自動的に消えます。
メッセージボックスのボタン[強制終了]をクリックすると、そのアプレットの終了処理は中断され、アプレットは強制終了されます。この場合、そのアプレットのstop()メソッドおよびdestroy()メソッドの実行が完了したかどうかは保証されません。
ボタン[強制終了]は、何らかの不都合によりアプレットが終了しなくなった場合などにお使いください。
メッセージボックスの抑止
上記のメッセージボックスを出さずに、ブラウザのウィンドウが閉じられたときに即座に画面を閉じるように設定することができます。jbkplugin.propertiesの中に以下の行を記述してください。
jbk.plugin.sw.applet.delay=<アプレットの終了が完了するまでの待機を行う/抑止する> |
<アプレットの終了が完了するまでの待機を行う/抑止する>には、以下のどちらかを設定してください。
アプレットの終了が完了するまでの待機を行います。
アプレットの終了が完了するまでの待機を行わず、即座にウィンドウを閉じます。
デフォルト状態では、jbk.plugin.sw.applet.delayの値はtrueに設定されています。 falseを設定した場合、そのアプレットのstop()メソッドおよびdestroy()メソッドの実行が完了したかどうかは保証されません。