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

18 コーディングのヒント

このトピックでは、すべての実行環境で動作するJavaおよびJavaFXアプリケーションの開発およびデプロイメントのプログラミングに関するヒントを提供します。

このトピックの内容は次のとおりです。

18.1 埋込みアプリケーションの検出

アプリケーションがブラウザで実行されている場合、アプリケーションは、事前定義済のディメンションを使用してステージングされ、直接更新することはできません。例18-1は、JavaFXアプリケーションがWebページに埋め込まれている場合に検出する単純なコードを示しています。このコードは、メイン・アプリケーションまたはJavaFXプリローダー起動メソッドのいずれかで使用できます。

かわりに、Application.getHostServices()メソッドからWebコンテキストへの参照の取得を試行できます。アプリケーションが埋め込まれていない場合、Nullが返されます。

18.3 JavaFXホスト・サービスの使用

JavaFXアプリケーションでは、Application.getHostServices()メソッドによって、次のような実行モード固有のサービスにアクセスできます。

  • コード・ベースおよびドキュメント・ベースに関する情報へのアクセス。

    たとえば、埋込みアプリケーションの場合、これは、それぞれアプリケーションのURLとホストWebページのURLになります。

  • 埋込みアプリケーションにのみ使用可能なJavaScriptエンジンを使用した、ホストWebページへのアクセス。

  • ブラウザでWebページを開く機能。

例18-3は、getHostServices()を使用して行うことができることをいくつか示しています。

18.5 JavaFXアプリケーションのステージ・サイズの管理

JavaFXアプリケーションがWebページに埋め込まれると、アプリケーションはステージ・ディメンションを制御できません。パッケージ化の際に指定されたディメンションはプリファレンスのみで、たとえばユーザーにカスタムのブラウザ・ズーム設定がある場合、ユーザーによってオーバーライドできます。また、ステージはユーザーによっていつでもサイズ変更できます。

適切なユーザー操作性を提供するために、任意のステージ・サイズに備えます。そうしないと、アプリケーションがクロップされるか、ステージの未使用の領域でガベージがペイントされることがあります。

アプリケーションでレイアウトが使用されている場合、何もする必要はありません。レイアウトはサイズ変更を処理します。それ以外の場合、例18-5の簡略化されたコードに示すように、サイズ変更ロジックを実装し、ステージ・ディメンションの変更をリスニングして、アプリケーションを更新します。

目次      

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