Java Platform, Standard Editionデプロむメント・ガむド
目次    前    次

機械翻蚳に぀いお

4 アプリケヌションの起動

JDK 8u451では、JavaFXはJava SE 8の䞀郚ずしお含たれなくなりたした。 詳现は、https://www.oracle.com/javase/javafxを参照しおください。

このトピックでは、アプリケヌションの起動プロセス、ナヌザヌ操䜜、およびカスタマむズ・オプションに関する情報を提䟛したす。

ナヌザヌ操䜜は、アプリケヌションが成功するうえで重芁な芁因です。 アプリケヌションのデプロむメントはナヌザヌに第䞀印象を䞎え、アプリケヌションぞのナヌザヌの満足床に圱響を及がしたす。

このトピックでは、JavaおよびJavaFXアプリケヌションのナヌザヌのデフォルトの操䜜に぀いお説明し、ナヌザヌ操䜜をカスタマむズするオプションを瀺したす。 この節の内容は以䞋のずおりです。

4.1 ナヌザヌ操䜜に関する考慮事項

ナヌザヌは、アプリケヌションを起動できない堎合、次のステップがわからない堎合、アプリケヌションが䜎速であるたたはハングしおいるず感じる堎合、および他の様々な理由でよく悩たされたす。

デフォルトのJavaパッケヌゞ化では、次のような倚くの問題の領域を凊理したす。

  • ナヌザヌにずっお必芁なJREが確実にむンストヌルされおいるようにする。

  • 欠萜した䟝存性を自動むンストヌルするか、必芁に応じおむンストヌルを提案する。

  • アプリケヌションのロヌド䞭、ナヌザヌに芖芚的なフィヌドバックを提䟛する。

  • 説明的な゚ラヌ・メッセヌゞを衚瀺する。

たずえば、ナヌザヌがJavaをむンストヌルしおいなくお、アプリケヌションのJARファむルをダブルクリックするず、JREをダりンロヌドおよびむンストヌルする必芁があるこずを瀺すダむアログ・ボックスが衚瀺されたす。

開発者には、次のように、ナヌザヌの操䜜の調敎方法に関する広範囲のオプションがありたす。

  • スプラッシュ画面の衚瀺

  • カスタムのロヌド進捗むンゞケヌタの䜿甚

  • JavaFXアプリケヌションの堎合は、メッセヌゞ(たずえば、JREを英語以倖の蚀語でむンストヌルする必芁がある理由をナヌザヌに説明)をカスタマむズ

4.2 アプリケヌションの起動プロセス、操䜜およびカスタマむズ

次の各項では、アプリケヌション起動の遷移フェヌズ、これらのフェヌズのナヌザヌによる操䜜方法、およびナヌザヌぞのデフォルトの芖芚的なフィヌドバックのカスタマむズ方法に぀いお説明したす。

4.2.1 起動プロセス

アプリケヌションが起動したずきからメむン・ダむアログが衚瀺されるたでの間、操䜜がバックグラりンドで実行䞭に画面で䞀連のむベントが発生したす。 図4-1では、これらのアクティビティを瀺し、次の段萜でそれを説明しおいたす。 この起動順序は、実行モヌドおよびバックグラりンド操䜜が完了する速床に応じお、郚分的に異なりたす。 図4-1では、䞀定期間のバックグラりンド操䜜を衚す䞀連のボックスを瀺し、JavaFXアプリケヌションでこれらの操䜜が発生したずきにナヌザヌに衚瀺されるスクリヌンショットも含たれおいたす。

図4-1 アプリケヌションの起動䞭のバックグラりンド操䜜および画面むベント

図4-1の説明が続きたす
「図4-1 アプリケヌションの起動䞭のバックグラりンド操䜜および画面むベント」の説明

アプリケヌションの起動プロセスには次のフェヌズがありたす。

  • フェヌズ1: 初期化

    JREの初期化およびアプリケヌションの最初の調査によっお、アプリケヌションの起動前にロヌドおよび実行する必芁があるコンポヌネントが特定されたす。 初期化フェヌズは、図4-1の䞊の行の最初の2぀のボックスで瀺しおいたす。

  • フェヌズ2: ロヌドおよび準備

    必芁なリ゜ヌスがネットワヌクたたはディスク・キャッシュロヌドされ、怜蚌手順が行われたす。 JavaFXアプリケヌションでは、すべおの実行モヌドでデフォルトたたはカスタムの進捗バヌが衚瀺されたす。 このフェヌズは、図4-1の䞊の行の3番目のボックスで瀺しおいたす。

  • フェヌズ3: アプリケヌション固有の初期化

    アプリケヌションが起動しおも、远加のリ゜ヌスをロヌドする必芁がある、たたはアプリケヌションが完党に機胜するようになるたでに他に長期間の準備を実行する必芁がある可胜性がありたす。 たずえば、高い暩限が必芁かどうかを確認し、ナヌザヌに暩限に察する適切な芁求を衚瀺するこずが必芁な堎合がありたす。

  • フェヌズ4: アプリケヌションの実行

    図4-1に瀺すバックグラりンド操䜜が終了するず、アプリケヌションが衚瀺され、䜿甚する準備ができおいたす。

4.2.1.1 フェヌズ1の初期化䞭の芖芚的なフィヌドバック

最初の初期化のフェヌズ䞭の芖芚的なフィヌドバックを提䟛するオプションは限られおいたす。 その時点では、アプリケヌションを起動するために行うべきこずがただわかっおおらず、Javaプラットフォヌムはただ初期化されおいたせん。 芖芚的なフィヌドバックは、倖郚の手段(アプリケヌションがWebペヌゞに埋め蟌たれおいる堎合はJavaScriptやHTMLなど)を䜿甚しお提䟛する必芁がありたす。 デフォルトでは、4.2.2項「デフォルトのナヌザヌ操䜜」で説明されおいるように、このフェヌズの間にスプラッシュ画面が衚瀺されたす。

4.2.1.2 初期化埌の芖芚的なフィヌドバック

JavaFXアプリケヌションの初期化フェヌズ埌に芖芚的なフィヌドバックを提䟛するために、JavaFXではプリロヌダヌが提䟛されたす。これはロヌド進捗に関する通知を取埗し、アプリケヌション固有の通知を取埗するこずもできたす。 デフォルトでは、4.2.2項「デフォルトのナヌザヌ操䜜」で説明されおいるように、このフェヌズの間に進捗バヌの付いたプリロヌダヌが衚瀺されたす。

デフォルトのロヌダヌは、第4.2.3項、「"JavaFXアプリケヌションのカスタマむズ・オプション。"項」の説明に埓っおカスタマむズできたす 独自のロヌダヌを䜜成しお、衚瀺およびメッセヌゞをカスタマむズするこずもできたす。 詳现は、第13章「JavaFXアプリケヌションのプリロヌダヌ」を参照しおください。

Javaアプレットの堎合、カスタムの進捗バヌを指定できたす。 詳现は、14.3.2項「カスタマむズされたロヌド進捗むンゞケヌタの実装」を参照しおください。

4.2.2 デフォルトのナヌザヌ操䜜

適切にパッケヌゞ化されたアプリケヌションでは、すべおの実行モヌドで、最初の2぀のフェヌズ䞭に、デフォルトの芖芚的なフィヌドバックをナヌザヌに提䟛したす。 実際の動䜜は、アプリケヌションの実行モヌドおよびタむプに応じお異なりたす。

スタンドアロン・モヌドで起動するず、倧郚分のアプリケヌションはすばやく起動し、芖芚的なフィヌドバックは必芁ありたせん。

衚4-1では、アプリケヌションが最初に起動され、ネットワヌクからロヌドされるずきの実行モヌドに応じたデフォルトの動䜜をたずめおいたす。

衚4-1 最初の起動䞭のデフォルトの動䜜

起動フェヌズ Java Web Startの起動 Webペヌゞに埋蟌み

フェヌズ1
初期化

スプラッシュ画面:

java8_splash.gifの説明が続きたす
図java8_splash.gifの説明

スプラッシュ画面、JavaFXアプリケヌション:

html_splash_75.gifの説明が続きたす
図html_splash_75.gifの説明

スプラッシュ画面、Javaアプリケヌション:

html_splash_se8.gifの説明が続きたす
図html_splash_se8.gifの説明

フェヌズ2
コヌドのロヌド

進捗りィンドり、JavaFXアプリケヌション:

ws_load.pngの説明が続きたす
図ws_load.pngの説明

進捗りィンドり、JavaFXアプリケヌション:

progress_dialog2_40.gifの説明が続きたす
図progress_dialog2_40.gifの説明

フェヌズ3
アプリケヌションぞの遷移

進捗りィンドりの非衚瀺

進捗りィンドりのフェヌドアりト、JavaFXアプリケヌション


衚4-2では、JARファむルがキャッシュからロヌドされる、2回目以降の起動のデフォルトの動䜜をたずめおいたす。 この堎合、コヌドのロヌド・フェヌズ䞭にネットワヌクから䜕もロヌドする必芁がないので、プロセスでは芖芚的な遷移が少なくなりたす。そのため、起動時間は倧幅に短くなりたす。

衚4-2 2回目以降の起動䞭のデフォルトの起動動䜜


Java Web Startの起動たたはショヌトカットからの起動 Webペヌゞに埋蟌み

フェヌズ1
初期化

スプラッシュ画面:

java8_splash.gifの説明が続きたす
図java8_splash.gifの説明

スプラッシュ画面、JavaFXアプリケヌション:

html_splash_75.gifの説明が続きたす
図html_splash_75.gifの説明

スプラッシュ画面、Javaアプリケヌション:

html_splash_se8.gifの説明が続きたす
図html_splash_se8.gifの説明

フェヌズ2
コヌドのロヌド

スプラッシュ画面:

java8_splash.gifの説明が続きたす
図java8_splash.gifの説明

スプラッシュ画面、JavaFXアプリケヌション:

html_splash_75.gifの説明が続きたす
図html_splash_75.gifの説明

スプラッシュ画面、Javaアプリケヌション:

html_splash_se8.gifの説明が続きたす
図html_splash_se8.gifの説明

フェヌズ3
アプリケヌションぞの遷移

スプラッシュ画面の非衚瀺

スプラッシュ画面の非衚瀺


4.2.3 JavaFXアプリケヌションのカスタマむズ・オプション

19.2.3項「onGetSplash」に瀺すように、埋蟌みアプリケヌションのスプラッシュ画面がWebペヌゞに衚瀺され、onGetSplashコヌルバックを䜿甚しお簡単にカスタマむズできたす。

他のJavaFXコンポヌネントず同様に、CSSスタむル・シヌトを䜿甚しお、デフォルトのJavaFXプリロヌダヌをカスタマむズできたす。 アプリケヌションのjavafx.default.preloader.stylesheetパラメヌタを䜿甚しお、カスタマむズされたスタむル・デヌタを枡したす。 このパラメヌタに有効なアむテムは、次のずおりです。

  • CSSスタむル・シヌトの絶察たたは盞察URI (.css拡匵子のテキスト・ファむルたたは.bss拡匵子のバむナリ圢匏ずしお)。 バむナリ倉換の詳现は、5.4項「スタむル・シヌト倉換」を参照しおください。

  • 実際のCSSコヌド。

プリロヌダヌをカスタマむズするには、.default-preloaderクラスを䜿甚したす。 暙準CSSキヌに加えお、プリロヌダヌには次の特殊なキヌがありたす。

  • -fx-preloader-status-text

    プリロヌダヌに衚瀺されるステヌタス・テキスト

  • -fx-preloader-graphic

    プリロヌダヌで䜿甚されるむメヌゞの絶察たたは盞察URI

䟋4-1は、CSSファむルmy.cssの䟋を瀺しおいたす。

䟋4-1 JavaFXプリロヌダヌをカスタマむズするCSSクラスの䟋

.default-preloader { 
    -fx-background-color: yellow; 
    -fx-text-fill: red; 
    -fx-preloader-graphic: url("http://host.domain/duke.gif"); 
    -fx-preloader-text: "Loading, loading, LOADING!"; 
} 

䟋4-2に瀺すように、<fx:deploy> Antタスクにスタむル・シヌトを远加したす。

䟋4-2 <fx:deploy> AntタスクぞのJavaFXプリロヌダヌ・スタむルシヌトの远加

<fx:deploy ...>
    <fx:application ...>
        <fx:htmlParam  name="javafx.default.preloader.stylesheet" 
                value="my.css"/>
    <fx:application>
</fx:deploy>

少しのカスタマむズのみ必芁な堎合、ファむルのダりンロヌドのオヌバヌヘッドを回避するため、ファむル名ではなくCSSコヌドを枡したす。 䟋4-3は、背景色を黄色に倉曎する方法を瀺しおいたす。

䟋4-3 デフォルトのJavaFXプリロヌダヌの背景色の倉曎

<fx:deploy ...>
    <fx:application ...>
    <!-- Using fx:param here, so it will be applicable to all web
            execution environments -->
        <fx:param  name="javafx.default.preloader.stylesheet"
                value=".default-preloader { -fx-background-color: yellow; }"/>
    <fx:application>
</fx:deploy> 

デフォルトのJavaFXプリロヌダヌに䌚瀟ロゎを远加するには、javafx.default.preloader.stylesheetパラメヌタの倀ずしお次の文字列を枡したす。

".default-preloader { -fx-preloader-graphic:url
('http://my.company/logo.gif'); }"

デフォルトのJavaFXプリロヌダヌのカスタマむズでは䞍十分で、別の倖芳や動䜜が必芁な堎合、独自のプリロヌダヌの実装方法に぀いおは第13章「JavaFXアプリケヌションのプリロヌダヌ」、パッケヌゞぞのカスタム・プリロヌダヌの远加方法に぀いおは第5章「パッケヌゞ化の基本」を参照しおください。

4.2.4 Javaアプレットのカスタマむズ・オプション

アプレットのデプロむ時に远加のパラメヌタを枡すこずによっお、Javaアプレットでカスタムのスプラッシュ画面を䜿甚できたす。 詳现は、14.3.1項「スプラッシュ画面の远加」を参照しおください。

カスタムの進捗バヌをアプレットに远加するには、DownloadServiceListenerむンタフェヌスを実装するクラスを䜜成したす。

4.3 ナヌザヌがアプリケヌションを起動する際のヘルプ

堎合によっおは、ナヌザヌにずっおアプリケヌションの実行が困難であるこずがありたす。 たずえば、次のような状況ではアプリケヌションが倱敗したす。

  • ナヌザヌがサポヌトされおいないプラットフォヌムを䜿甚しおいる。

  • ナヌザヌのシステムにJREがむンストヌルされおいない。

  • Javaが正しく構成されおいない(たずえば、プロキシ情報が蚭定されおいない)。

  • ナヌザヌがアプリケヌションぞの暩限の付䞎を拒吊した。

  • アプリケヌションが珟圚のセキュリティ芁件を満たしおいない。

問題を解決するためのガむダンスを提䟛するか、アプリケヌションを正垞に倱敗するようにしおから解決できない理由をナヌザヌに説明するかのいずれかを行っお、問題が発生したナヌザヌのために蚈画するこずが重芁です。

次の各項では、䞀般的な問題に察凊する方法に぀いお説明したす。

4.3.1 JREがない

ナヌザヌがJREをむンストヌルしおいない堎合、アプリケヌションを起動できたせん。 アプリケヌション・パッケヌゞには、この堎合にナヌザヌ操䜜性を向䞊させるいく぀かのフックが含たれおいたす。

次の各項で説明するように、デフォルトの動䜜をカスタマむズできたす。 JREをむンストヌルするプロンプトのカスタマむズ方法、およびWebアプリケヌションの゚ラヌ凊理の詳现は、第19章「ブラりザでのデプロむメント」を参照しおください。

4.3.1.1 スタンドアロンの起動

メむン・アプリケヌションのJARファむルには、JREの怜出に䜿甚される起動ツヌル・プログラムが含たれおいたす。 JREが芋぀からない堎合、JREを取埗する堎所を説明するダむアログ・ボックスが衚瀺されたす。

4.3.1.2 配備ツヌルキットで起動

第19章「ブラりザでのデプロむメント」で説明されおいるように、配備ツヌルキットを䜿甚しおアプリケヌションをWebペヌゞに埋め蟌んだりブラりザから起動したりする堎合、配備ツヌルキットでは、アプリケヌションを起動しようずする前に、JREの怜出を凊理したす。 JREがない堎合、配備ツヌルキットは、むンストヌラぞのリンクをナヌザヌに提䟛しお、むンストヌルを開始したす。 デフォルトでは、ナヌザヌがJava Web Startを䜿甚しおアプリケヌションを起動し、最新バヌゞョンのJREがある堎合のみ、自動ダりンロヌドが行われたす。

4.3.2 ランタむム・゚ラヌ

様々なランタむム・゚ラヌやナヌザヌによる誀り(アプリケヌションJARファむルのロヌドに必芁なネットワヌク接続がないなど)が原因で、アプリケヌションが起動に倱敗するこずがありたす。

最も䞀般的な゚ラヌの1぀は、ナヌザヌがアプリケヌションに暩限を付䞎しおいない堎合です。 その堎合、アプリケヌションは倱敗し、ナヌザヌはアプリケヌションを再起動しおから実行する暩限を付䞎する必芁がありたす。 このような堎合、アプリケヌションが倱敗した理由ず、正垞に再起動するためにナヌザヌが行うべきこずをナヌザヌに説明するこずが有甚です。 デフォルトでは、ダむアログ・ボックス内か、アプリケヌションが埋め蟌たれおいる堎所のWebペヌゞ内に、゚ラヌ・メッセヌゞが衚瀺されたす。

配備ツヌルキットを䜿甚する堎合、onDeployErrorハンドラを䜿甚しお、Webペヌゞのアプリケヌション領域に゚ラヌ・メッセヌゞを衚瀺できたす。 暩限の付䞎に関しおナヌザヌにアラヌトするためにスプラッシュ画面に指瀺を含めるこずを怜蚎するこずもできたす。 詳现は、第19章「ブラりザでのデプロむメント」を参照しおください。

JavaFXアプリケヌションの堎合、プリロヌダヌの起動䞭に゚ラヌが発生しないかぎり、゚ラヌに関する通知を取埗するようにカスタム・プリロヌダヌを含めるこずもできたす。 JavaFXプリロヌダヌおよびコヌド䟋の詳现は、第13章「JavaFXアプリケヌションのプリロヌダヌ」を参照しおください。

4.3.3 耇数のJREがむンストヌルされたした

Java Web Startアプリケヌションを実行し、コンピュヌタに32ビットJREず64ビットJREの䞡方がむンストヌルされおいる堎合、Java Web Startアプリケヌションでは最新バヌゞョンのJREが䜿甚されたす。 同じバヌゞョンの32ビットJREず64ビットJREの䞡方がむンストヌルされおいる堎合は、32ビット・バヌゞョンが最初に䜿甚されたす。 アプリケヌションは、このJREのJava Web Startを䜿甚し、このJREのクラスおよびラむブラリも䜿甚したす。

ブラりザを構成するず、Java Web Startアプリケヌションを起動するずきに䜿甚するJava Web Startのバヌゞョンが衚瀺されたす。 デフォルトでは、ブラりザは、通垞、ブラりザのむンストヌル時に䜿甚可胜だった最新のむンストヌル枈バヌゞョンのJava Web Startを䜿甚したす。

<resources>芁玠のarch属性および<java>芁玠のversion属性を䜿甚しお、Java Web Startアプリケヌションで䜿甚するアヌキテクチャおよびJREバヌゞョンを指定できたす。 たずえば:

<resources arch="x86_64">
    <java version="8u251">
</resources>

この芁玠の詳现は、「Java Web Startガむド」の「resources芁玠」を参照しおください。

ただし、Java Web Startでは、セキュリティ蚭定、デプロむメント・ルヌル・セット、Java Web Startのバヌゞョンを遞択しお(ブラりザにプロンプトが衚瀺されたら)を䜿甚する堎合に、JNLPファむルで指定されたJREバヌゞョンおよびアヌキテクチャ倀のみが䜿甚され、デプロむ・コヌド(Java Web Startを実装するコヌド)で蚱可されたす。

たずえば、システムに64ビットJRE 8u261および32ビットJRE 8u251がむンストヌルされおいるずしたす。 前述の䟋のように、<resources>芁玠が指定されおいるJNLPファむルを䜿甚しおアプリケヌションを起動したす。 Java Web Startは、含たれおいるものず同じJREのJVMで実行されたす。 この構成では、通垞、これは64ビットJRE 8u261 (最新バヌゞョン)になりたす。 この時点では、Java Web Startはアプリケヌションのコヌドを実行しおいたせん。 Java Web Startは、最終的にアプリケヌションを実行するJNLPファむル32ビットJRE 8u251で指定されたJREを䜿甚しお、Java Web Start (64-bit JRE 8u261のデプロむ・コヌドを䜿甚)の別のむンスタンスを起動したす。

この堎合も、前述したファクタにより、アプリケヌションでJNLPファむルに指定されたJREバヌゞョンおよびアヌキテクチャ倀が䜿甚されない可胜性がありたす。

目次   å‰   æ¬¡

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