Rich Internet Application のロード動作のカスタマイズ

RIA のロード動作

Java Rich Internet Application (RIA) は、インターネット経由でダウンロードされてエンドユーザーに表示されます。ダウンロードの速度は、RIA の JAR ファイルのサイズ、外部のあらゆる依存関係、インターネット接続の速度など、さまざまな条件によって変わる可能性があります。

RIA がダウンロードされている間はデフォルトで、RIA ソフトウェア (Java Plug-in および Java Web Start ソフトウェア) によって標準の進捗インジケータ (回転する Java ロゴや進捗バーなど) が表示されます。エンドユーザーは、大きなサイズのダウンロードに遭遇すると我慢できなくなる可能性があります。Java SE 6 update 18 と Java SE 6 update 21 リリースでの RIA ソフトウェアテクノロジの改善点を活用すれば、創造的で魅力的な意味のある RIA ロード動作を提供することで、エンドユーザーの注意を持続させることができます。RIA のロード動作をカスタマイズするには、次に説明するようにいくつかの方法があります。

また、クライアントマシン上の古いバージョンの Java Runtime Environment (JRE) ソフトウェアに対応できるように、上の複数のオプションを組み合わせることもできます。

注:特定のカスタマイズオプションは、アプレットまたは Java Web Start アプリケーションに固有のものです。このトピックではそのような場合を明確にします。

RIA のロード処理

このセクションでは RIA のロード処理について説明します。

RIA ソフトウェアは、RIA をダウンロード、検証、および実行するための一連の手順を開始します。RIA ロード処理は大まかに次の各段階に分けることができます。これらの段階の間、RIA ソフトウェアはさまざまなレベルの進捗関連フィードバックを提供します。

カスタマイズのオプション

スプラッシュ画面の追加

RIA のロード動作をカスタマイズするもっとも単純な方法は、スプラッシュ画面を提供することです。スプラッシュ画面に表示すべきイメージを指定します。RIA 自体への変更は一切不要です。RIA ソフトウェアは、RIA のロード中はスプラッシュ画面を表示し、RIA のリソースのダウンロードと検証が完了するとその画面を隠します。詳細は、次のトピックを参照してください。

カスタマイズされたロード進捗インジケータの実装

デフォルトのロード進捗インジケータを、RIA のロード状況に関する定期的なフィードバックを提供するカスタム実装で置き換えることができます。矩形のボックスや Swing JProgressBar コンポーネントの使用にこだわらないでください。RIA や Web サイトにとって意味のある、カスタマイズされたロード進捗インジケータを開発できます。ロード進捗インジケータでは、RIA のバックグラウンドでのロード中にエンドユーザーの興味や注意を持続させるため、視覚的な方法や視覚的でない方法を使用できます。

詳細な手順と例については、Java チュートリアルの「Customizing the Loading Experience」トピックを参照してください。ロード進捗インジケータのスクリーンショットをいくつか次に示します。

Java Web Start アプリケーションのデフォルトのロード進捗インジケータ

Java Web Start アプリケーションのデフォルトの進捗インジケータ

Java Web Start アプリケーションのカスタマイズされたロード進捗インジケータ

Java Web Start アプリケーションのカスタマイズされた進捗インジケータ

Reversi JavaFX アプレットのカスタマイズされたロード進捗インジケータ (ロードが進むにつれて黒の石が白に変わる)

Reversi アプリケーションのカスタマイズされた進捗インジケータ

次の各機能により、JNLP テクノロジを使って配備された RIA で、ロード進捗インジケータのさまざまなカスタマイズが可能となります。

次のいくつかの段落では、ロード進捗インジケータの実装に関する技術的な詳細について説明します。

javax.jnlp.DownloadServiceListener インタフェース

ロード進捗インジケータクラスは javax.jnlp.DownloadServiceListener インタフェースを実装すべきです。

ロード進捗インジケータクラスのコンストラクタ

ロード進捗インジケータクラス内で次のコンストラクタを指定します。RIA ソフトウェアは、クライアントマシン上の JRE ソフトウェアの機能に応じて適切なコンストラクタを呼び出します。すべてのリソースが最新であれば、RIA ソフトウェアはロード進捗インジケータクラスをインスタンス化しない場合もあります。

javax.jnlp.DownloadServiceListener インタフェースのメソッド

ロード進捗インジケータクラスは、インタフェースの次の各メソッドを実装することで、最新の進捗情報の受信と伝達を行えるようにすべきです。

これらのメソッドで受け取った overallPercent の値に基づいて、ロード進捗インジケータ内の進捗情報を更新します。

JNLP ファイル内でのカスタム進捗インジケータの指定

ロード進捗インジケータを指定するには、RIA の Java Network Launch Protocol (JNLP) ファイル内に次の情報を含めます。

アプレットのサンプル JNLP ファイルを次に示します。

<jnlp spec="1.0+" codebase="" href="">
...
  <resources>
    ...
    <jar href="MyApplet.jar" main="true" />    
    <jar href="CustomProgressIndicator.jar" download="progress" />
  </resources>

  <applet-desc
     name="MyFavoriteApplet"
     main-class="myAppletPackage.MyFavoriteApplet"
     progress-class="myCustomProgressPackage.MyCustomProgressIndicator"
     width="600"
     height="200">
  </applet-desc>
...
</jnlp>

RIA ソフトウェアが進捗を伝える方法

RIA ソフトウェアは次のようにして進捗情報を伝えます。

ベストプラクティスおよびヒント

リソース


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.