ドキュメント



JavaFX: JavaFXスタート・ガイド

1 JavaFXの概要

この章では、JavaFX APIを使用してビルドできるアプリケーションのタイプの概要、JavaFXライブラリをダウンロードする場所、および提供される主なJavaFX機能の詳細について説明します。

JavaFXは、多様なプラットフォームで同様に動作するリッチ・クライアント・アプリケーションを開発者が設計、作成、テスト、デバッグおよびデプロイできるようにする、グラフィックスおよびメディア・パッケージのセットです。

JavaFXプラットフォームのアーキテクチャについて学習し、メディア・ストリーミング、Webレンダリングおよびユーザー・インタフェースのスタイル設定に関するJavaFX APIの簡単な説明を入手するには、「JavaFXアーキテクチャの理解」の章を参照してください。

JavaFXアプリケーション

JavaFXライブラリはJava APIとして記述されているため、JavaFXアプリケーション・コードは任意のJavaライブラリのAPIを参照できます。 たとえば、JavaFXアプリケーションでJava APIライブラリを使用して、ネイティブなシステム機能にアクセスし、サーバー・ベースのミドルウェア・アプリケーションに接続できます。

JavaFXアプリケーションのルック・アンド・フィールはカスタマイズできます。 カスケード・スタイルシート(CSS)によって外観およびスタイルは実装から分離されるため、開発者はコーディングに集中できます。 グラフィック・デザイナは、CSSによってアプリケーションの外観およびスタイルを簡単にカスタマイズできます。 Webデザインの経験がある場合、またはユーザー・インタフェース(UI)とバックエンド・ロジックを分離する場合は、UIのプレゼンテーションの側面をFXMLスクリプト言語で開発し、アプリケーション・ロジックについてはJavaコードを使用できます。 コードを記述せずにUIを設計する場合は、JavaFX Scene Builderを使用します。 UIを設計すると、開発者がビジネス・ロジックを追加できるように、統合開発環境(IDE)に移植できるFXMLマークアップがScene Builderによって作成されます。

可用性

JavaFX APIは、Java SE Runtime Environment (JRE)とJava Development Kit (JDK)の完全に統合された機能として使用できます。 JDKは主要なすべてのデスクトップ・プラットフォーム(Windows、Mac OS XおよびLinux)で使用できるため、JDK 7以降に対してコンパイルされたJavaFXアプリケーションも、主要なすべてのデスクトップ・プラットフォームで実行されます。 JavaFX 8では、ARMプラットフォームのサポートも使用できるようになりました。 ARM用のJDKには、JavaFXの基本、グラフィックスおよびコントロールのコンポーネントが含まれています。

プラットフォーム間の互換性があるため、JavaFXアプリケーションの開発者およびユーザーにとって、実行時の操作が一貫性のあるものになります。 オラクル社では、すべてのプラットフォームでのリリースおよびアップデートを同じタイミングで行い、重要なアプリケーションを実行する会社に対して広範囲にわたるサポート・プログラムを提供します。

JDKダウンロード・ページで、JavaFXサンプル・アプリケーションのzipファイルを入手できます。 サンプル・アプリケーションには、JavaFXアプリケーションの記述方法を例示する多数のコード・サンプルおよびコード・スニペットが含まれています。 詳細は、「サンプル・アプリケーションの実行方法」を参照してください。

主な機能

JavaFX 8以降のリリースに含まれる機能は、次のとおりです。 JavaFX 8リリースで導入された項目については、そのように記載されています。

  • Java API JavaFXは、Javaコードで記述されたクラスおよびインタフェースで構成されたJavaライブラリです。 APIは、JRubyやScalaなどのJava仮想マシン(Java VM)言語の使いやすい代替となるように設計されています。

  • FXMLおよびScene Builder FXMLは、JavaFXアプリケーション・ユーザー・インタフェースを作成するためのXMLベースの宣言型マークアップ言語です。 設計者は、FXMLでコーディングするかJavaFX Scene Builderを使用して、グラフィカル・ユーザー・インタフェース(GUI)をインタラクティブに設計できます。 Scene BuilderではIDEに移植できるFXMLマークアップが生成され、IDEで開発者はビジネス・ロジックを追加できます。

  • WebView. WebKitHTMLテクノロジを使用してJavaFXアプリケーションにWebページを埋め込めるようにするWebコンポーネント。 WebViewで実行されるJavaScriptはJava APIをコールでき、Java APIはWebViewで実行されるJavaScriptをコールできます。 Webソケット、Webワーカー、Webフォントなどの追加のHTML5機能および印刷機能のサポートが、JavaFX 8で追加されました。 JavaFXアプリケーションへのHTMLコンテンツの追加を参照してください。

  • Swing相互運用性 既存のSwingアプリケーションを、リッチ・グラフィックス・メディア再生や埋込みWebコンテンツなどのJavaFX機能で更新できます。 JavaFXアプリケーションにSwingコンテンツを埋め込むことができるSwingNodeクラスが、JavaFX 8で追加されました。 詳細は、SwingNode API javadocおよび「JavaFXアプリケーションへのSwingコンテンツの埋込み」を参照してください。

  • 組込みUIコントロールおよびCSS JavaFXでは、あらゆる機能を備えたアプリケーションを開発するために必要となる主なUIコントロールがすべて提供されます。 コンポーネントは、CSSなどの標準的なWebテクノロジでスキニングできます。 DatePickerおよびTreeTableView UIコントロールがJavaFX 8リリースで使用できるようになりました。 詳細は、「JavaFX UIコントロールの使用」を参照してください。 また、CSS Styleable*クラスがパブリックAPIになり、CSSによってオブジェクトをスタイル設定できます。

  • Modenaテーマ ModenaテーマがCaspianテーマにかわってJavaFX 8アプリケーションのデフォルトになりました。 setUserAgentStylesheet(STYLESHEET_CASPIAN)行をアプリケーションのstart()メソッドに追加することによって、Caspianテーマを引き続き使用できます。 詳細は、fxexperience.comのModenaブログを参照してください。

  • 3Dグラフィックス機能 Shape3D (Box、Cylinder、MeshViewおよびSphereサブクラス)、SubScene、Material、PickResult、LightBase (AmbientLightおよびPointLightサブクラス)およびSceneAntialiasingの新しいAPIクラスが、JavaFX 8の3Dグラフィックス・ライブラリに追加されました。 Camera APIクラスも、このリリースで更新されました。 詳細は、「JavaFX 3Dグラフィックス・スタート・ガイド」ドキュメントと、javafx.scene.shape.Shape3Djavafx.scene.SubScene、javafx.scene.paint.Material、javafx.scene.input.PickResultおよびjavafx.scene.SceneAntialiasingの対応するAPI javadocを参照してください。

  • Canvas API Canvas APIによって、1つのグラフィカル要素(ノード)で構成されたJavaFXシーンの領域内で直接描画できます。

  • 印刷API javafx.printパッケージがJava SE 8リリースで追加されており、このパッケージによってJavaFX印刷APIのpublicクラスが提供されます。

  • リッチ・テキストのサポート JavaFX 8では、双方向テキストや複雑なテキスト・スクリプトなどの拡張されたテキスト・サポートがJavaFXに導入されました(コントロール内のタイ語やヒンズー語、テキスト・ノードでの複数行、複数スタイルのテキストなど)。

  • マルチタッチのサポート JavaFXでは、基礎となるプラットフォームの機能に基づいて、マルチタッチ操作がサポートされます。

  • Hi-DPIのサポート JavaFX 8では、Hi-DPIディスプレイがサポートされるようになりました。

  • ハードウェア高速化グラフィックス・パイプライン JavaFXグラフィックスは、グラフィックス・レンダリング・パイプライン(Prism)に基づきます。 JavaFXでは、サポートされているグラフィックス・カードまたはグラフィックス・プロセッシング・ユニット(GPU)とともに使用した場合、Prismによって迅速にレンダリングされる、なめらかなグラフィックスが提供されます。 JavaFXによってサポートされる推奨GPUがシステムにない場合、Prismのデフォルトはソフトウェア・レンダリング・スタックです。

  • 高性能メディア・エンジン メディア・パイプラインによって、Webマルチメディア・コンテンツの再生がサポートされます。 GStreamerマルチメディア・フレームワークに基づく安定した低遅延のメディア・フレームワークが提供されます。

  • 自己完結型のアプリケーション・デプロイメント・モデル 自己完結型のアプリケーション・パッケージには、アプリケーション・リソースとJavaおよびJavaFXランタイムのプライベート・コピーがすべて含まれています。 これらはネイティブのインストール可能パッケージとして配布され、そのオペレーティング・システムのネイティブ・アプリケーションと同じインストールおよび起動操作が提供されます。

JavaFXでビルドできるもの

JavaFXでは、多くのタイプのアプリケーションをビルドできます。 通常、これらはネットワーク対応アプリケーションであり、複数のプラットフォームにデプロイされ、オーディオ、ビデオ、グラフィックスおよびアニメーションを特徴とする高パフォーマンスで最新のユーザー・インタフェースに情報を表示します。

表1-1に、JavaFX 8.nリリースに含まれているサンプルJavaFXアプリケーションのいくつかのイメージを示します。

表1-1 サンプルJavaFXアプリケーション

サンプル・アプリケーション 説明

Ensembleアプリケーションのスナップショットのサムネイル・バージョン
「図ensemble-small.gifの説明」

JavaFX Ensemble8

Ensemble8は、アニメーション、グラフ、コントロールなどの様々なJavaFX機能を示すサンプル・アプリケーションのギャラリです。 すべてのプラットフォームで各実行サンプルを表示し、実行サンプルと対話して、その説明を読むことができます。 デスクトップ・プラットフォームで、各サンプルのソース・コードをコピーし、複数のサンプルで使用されるサンプル・コンポーネントのプロパティを調整し、インターネットに接続されている場合は関連するAPIドキュメントへのリンクをたどることができます。Ensemble8は、ARM用のJavaFXでも実行されます。

Sales Dashboardアプリケーションのスナップショットのサムネイル・バージョン
「図modena-sample.gifの説明」

Modena

Modenaは、Modenaテーマを使用してUIコンポーネントのルック・アンド・フィールを示すサンプル・アプリケーションです。 ModenaテーマとCaspianテーマを対比して、これらのテーマの様々な側面を調べるオプションがあります。

Sales Dashboardアプリケーションのスナップショットのサムネイル・バージョン
「図sample-3dviewer.gifの説明」

3D Viewer

3DViewerは、マウスまたはトラックパッドを使用して3Dシーンを移動して確認できるサンプル・アプリケーションです。3DViewerには、OBJおよびMayaファイルの機能のサブセットのインポータがあります。 Mayaファイルについては、アニメーションをインポートする機能も提供されます。 (Mayaファイルの場合、Mayaファイルとして保存するときにすべてのオブジェクトで構成履歴を削除する必要があることに注意してください。)

3DViewerには、シーンのコンテンツをJavaまたはFXMLファイルとしてエクスポートする機能もあります。


サンプル・アプリケーションの実行方法

この項のステップでは、Javaプラットフォーム(JDK 8)で個別のダウンロードとして使用できるサンプル・アプリケーションのダウンロードおよび実行方法について説明します。

ノート:

サンプルJavaFXアプリケーションを実行するには、JavaFXランタイム・ライブラリがマシン上に必要です。 これらのステップに進む前に、最新バージョンのJDK 8または最新バージョンのJREをインストールしてください。

サンプル・アプリケーションをダウンロードおよび実行するには:

  1. https://www.oracle.com/technetwork/java/javase/downloads/の「Java SEのダウンロード」ページに移動します。

  2. スクロール・ダウンして「JDK 8 and JavaFX Demos and Samples」セクションを見つけます。

  3. 「Demos and Samples」の「Download」ボタンをクリックして、ダウンロード・ページに移動します。

  4. 「Java SE Development Kit 8 Downloads」ページで、「JavaFX Demos and Samples Downloads」セクションにスクロール・ダウンします。

  5. 適切なオペレーティング・システムのzipファイルをダウンロードして、ファイルを抽出します。

    javafx-samples-8.xディレクトリが作成されます。このディレクトリには使用できるサンプルのファイルが含まれています。 サンプルのNetBeansプロジェクトは、javafx-samples-8.x\srcディレクトリにあります。

  6. サンプルの実行可能ファイルをダブルクリックします。

    たとえば、Ensemble8の事前作成済アプリケーションを実行するには、Ensemble8.jarファイルをダブルクリックします。

IDEでのサンプルの実行方法

Java開発IDEを使用して、JavaFXアプリケーションを開発できます。 次のステップでは、NetBeans IDEを使用してソース・コードを表示および実行する方法について説明します。

NetBeans IDEでのサンプル・ソース・コードを表示および実行するには:

  1. 前述のように、サンプルをダウンロードしてファイルを抽出します。

  2. NetBeans 7.4以降のIDEから、表示するサンプルのプロジェクトをロードします。

    1. 「ファイル」メニューから、「プロジェクトを開く」を選択します。

    2. 「プロジェクトを開く」ダイアログ・ボックスで、サンプルがリストされるディレクトリに移動します。 ナビゲーション・パスは次のようになります。

      ..\javafx_samples-8.x-<platform>\javafx-samples-8.x\src
      
    3. 表示するサンプルを選択します。

    4. 「プロジェクトを開く」ボタンをクリックします。

  3. 「プロジェクト」ウィンドウで、開いたプロジェクトを右クリックして「実行」を選択します。
    「出力」ウィンドウが更新され、サンプル・プロジェクトが実行およびデプロイされます。

JavaFXアプリケーションの作成方法

JavaFXアプリケーションはJava言語で記述されるため、任意のエディタまたはJava言語をサポートする統合開発環境(IDE) (NetBeans、Eclipse、IntelliJ IDEAなど)を使用してJavaFXアプリケーションを作成できます。

JavaFXアプリケーションを作成するには:

  1. https://www.oracle.com/technetwork/java/javase/downloads/の「Java SEのダウンロード」ページに移動して、JavaFX 8.nサポートを含むOracle® JDK 8をダウンロードします。 このページには、動作保証されているシステム構成およびリリース・ノートへのリンクもあります。

  2. JavaFXサンプル・アプリケーション・スタート・ガイドを使用して、レイアウト、スタイルシートおよびビジュアル効果の使用方法を示す簡単なアプリケーションを作成します。

  3. JavaFX Scene Builderを使用して、コーディングなしでJavaFXアプリケーションのUIを設計します。 UIコンポーネントを作業領域にドラッグ・アンド・ドロップし、プロパティを変更し、スタイルシートを適用して、結果のコードをアプリケーション・ロジックと統合できます。

    1. https://www.oracle.com/technetwork/java/javase/downloads/の「JavaFXダウンロード」ページからJavaFX Scene Builderをダウンロードします。

    2. さらに学習するには、JavaFX Scene Builderの概要チュートリアルを参照してください。

リソース

JavaFXテクノロジについて学習するには、次のリソースを使用してください。

ウィンドウを閉じる

目次

JavaFX: JavaFXスタート・ガイド

展開 | 縮小