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

6 SwingアプリケーションでのJavaFX

埋込みJavaFXコンテンツを含むSwingアプリケーションを作成できます。このページでは、このようなアプリケーションをデプロイする方法について説明します。

この節の内容は以下のとおりです。

6.1 概要

既存のSwingアプリケーションで作業する開発者は、SwingアプリケーションにJavaFXコンテンツを統合することによって、JavaFXの機能を利用できます。詳細は、チュートリアルのJavaFXアプリケーションとSwingアプリケーションに関する項を参照してください。

このガイドで説明しているすべての方法がJavaFXコンテンツを含むSwingアプリケーションに適用できるわけではありません。ただし、次の方法は該当します。

  • Swingアプリケーションのパッケージ化に同じパッケージ化ツールを使用できます。

  • 配備ツールキットは、SwingアプリケーションをWebページに埋め込んだりブラウザから起動したりするために使用できます。

  • 自己完結型アプリケーションの場合と同じ方法を使用して、アプリケーションをインストール可能なパッケージとしてバンドルおよびパッケージ化できます。

WebにJavaFXコンテンツが埋め込まれたSwingアプリケーションのデプロイメントは、Java Web Startアプリケーションまたはアプレットとしての通常のSwingアプリケーションのデプロイメントと似ています。JavaチュートリアルのJavaアプレットおよびJava Web Startアプリケーションに関するレッスンを参照してください。

ただし、JavaFXを使用するには、アプリケーションのデプロイメント記述子(JNLPファイル)は、JREの依存性を表す必要があります。

6.2項「JavaFX Antタスクを使用したパッケージ化」で説明されているように、ハイブリッド・アプリケーションのパッケージ化にはAntタスクをお薦めします。または、6.3項「パッケージ化ツールを使用しないパッケージ化」で説明されているように、既存のパッケージ化プロセスを手動で変更できます。

6.2 JavaFX Antタスクを使用したパッケージ化

統合JavaFXコンテンツを含むSwingアプリケーションをパッケージ化するには、Antタスク(第5章「パッケージ化の基本」を参照)の同じセットを使用できます。<fx:application>toolkit="swing"属性を使用して、アプリケーションのプライマリUIツールキットがSwingであるとマークすることのみを行う必要があります。

生成されるパッケージは、純粋なJavaFXアプリケーションのパッケージと似ています。5.2項「ベース・アプリケーション・パッケージ」を参照してください。相違点は、2つのデプロイメント記述子(1つはSwingアプレットとしてデプロイ用、もう1つはJava Web Startを使用したアプリケーションの起動用)があることのみです。

例6-1は、JavaFXコードを含み、toolkit="swing"属性を使用するSwingアプリケーションのAntタスクのサンプルを示しています。

6.2.1 HTMLスプラッシュ画面の有効化

Swingアプリケーションにはデフォルトのプリローダーがないため、アプリケーションの準備ができたときにHTMLスプラッシュ画面を非表示にするコードがありません。そのため、デフォルトでは、生成されたHTMLページはHTMLスプラッシュ画面を使用しません。

スプラッシュ画面を有効にするには、次のタスクの両方を実行します。

6.3 パッケージ化ツールを使用しないパッケージ化

Java Web Startアプリケーションまたはアプレットとしてのパッケージ化に対する既存のサポートがプロジェクトにすでにある場合、JNLPファイルのテンプレートを直接変更するほうが容易な場合があります。

JavaFXランタイムへの依存性を表すには、JNLPファイルに次の変更を行います。

  • jfx:のJavaFX名前空間を定義します。

  • JREの最低限必要なバージョンはJRE 7 update 6以降であることを指定します。

例6-4は、デプロイメント記述子へのこれらの変更の例を示しています。

HTML側への変更は必要ありません。ただし、次の項の例に示すように、コンテンツのWebページとの統合に配備ツールキットを使用することもできます。

6.3.1 配備ツールキットの使用

アプリケーションをアプレットとしてデプロイしたり、ブラウザから起動したりする際には、配備ツールキットを使用することをお薦めします。配備ツールキットは、デプロイメントのルーチン(必要なJREが使用可能であることを確認するなど)を簡略化します。配備ツールキットには、次のような追加の機能もいくつかあります。

たとえば、例6-5は、Swing Java Web Startアプリケーションを起動するためのWebページ・コードを示しています。このコードは、JavaFXアプリケーションの起動に使用するものと同じです。

例6-5は単純ですが、必要に応じて、Swingアプリケーションの配備ツールキットでdtjava.launch()メソッドの他の機能を使用できます。たとえば、すばやく起動するために、JNLPファイルをWebページに埋め込むことができます。

アプレットの場合も、アプローチは同様です。dtjava.embed()関数を使用して、アプレットをWebページに埋め込むことができます。swingツールキットを指定して、配備ツールキットのアプリケーション・タイプのプリファレンスを示す必要もあります。

別の警告が、配備ツールキットでの組込みHTMLスプラッシュのサポートに関係します。Swingアプリケーションにはデフォルトのプリローダーがないため、アプリケーションの準備ができたときにHTMLスプラッシュ画面を非表示にするコードがありません。この違いに対処するには、次のいずれかの方法を使用します。

目次      

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