アプレットの能力と制約事項を理解する |
前のページを読んだ読者は、アプレットのことを欠陥のあるアプリケーションだと感じたかもしれない。しかしそれは正しくない! アプレットはネットワークを通じてロードできるという明白な特徴だけでなく、読者 が考えるよりも多くの機能をもっている。 アプレットは、あらゆる java.* パッケージの API にアクセスできること (これはセキュリティの制約を受ける) に加えて、 アプリケーションでさえもっていないような能力を備えているのである。アプリケーションにはない能力
アプレットは、それを実行するアプリケーションのコードによってサポートされるため、特別な能力をもっている。 アプレットは、Applet クラスと AppletContext、AppletStub、および AudioClip イ ンタフェースが納められた java.applet パッケージを通してこのサポートを得ている。以下に、アプリケーションにはない、アプレットの能力をいくつか紹介する。
- アプレットはサウンドを再生できる。
- 詳細については 、サウンドを再生する を参照する 。
- Web ブラウザ内で動作するアプレットは HTML 文書を簡単に表示できる。
- これは AppletContext の
showDocument()
メソッドでサポートされる。 詳細については、ブラウザとコミュニケートする を参照する。- アプレットは同じページの他のアプレットのパブリックメソッドを起動できる。
- 詳細については、同じページの他のアプレットにメッセージを送る を参照する。
アプレットのこれ以外の能力
上記のほかにも、アプレットは読者が期待する以上の能力をもっている。
- ローカルファイルシステムから (ユーザの CLASSPATH にあるディレクトリから) ロードされたアプレットには、ネットワークを通じてロードされるアプレットに課される制約事項がまったくない。
- これは、ユーザの CLASSPATH にあるアプレットはロード時にアプリケーションの一部になるためである。
ユーザがページを出るとほとんどのアプレットは実行を停止するが、 必ずしもそうしなくてよい。
- ほとんどのアプレットは、礼儀正しい動作のために、(必要があれば)
stop
メソッドを実装し、ユーザがそのアプレットのページを出るときにすべての処理を停止するようになっている。 しかし、実行を継続する方がアプレットにとって適切な場合もある。 たとえば、ユーザがアプレットに複雑な計算を実行するように指示したのなら 、ユーザは計算の継続を望んでいると考えられる。 (ただし、通常はアプレットに実行を継続させるかどうかをユーザで指定できるようにしておくべきである。) 別の例としては、あるアプレットが複数のページで有効な場合、そのインタフェースにウィンドウを使用すべきであり、stop()
メソッドでそのウィンドウを隠すべきではない。 そのウィンドウが必要なくなったときに、ユーザがウィンドウを消せばよいのである。
アプレットの能力と制約事項を理解する |