JavaFXチュートリアル:アプリケーションを作成する方法は?



このJavaFXチュートリアルでは、JavaFXプラットフォーム、その機能、アーキテクチャについて簡単に紹介し、最初のJavaFXアプリケーションの作成に役立ちます。

JavaFXは、さまざまなデバイスで実行できるリッチインターネットアプリケーション(RIA)を作成するためのJavaプラットフォームです。置き換えることを目的としています Javaでスイング GUIフレームワークとしてのアプリケーション。また、Swingよりも多くの機能を提供します。 JavaFXは、次の世代向けの次世代GUIツールキットです。 。面白そう?このJavaFXチュートリアルでは、概念を詳しく調べてみましょう。

JavaFXとは何ですか?

JavaFXは、さまざまなデバイスで実行できるクロスプラットフォームGUIアプリケーションおよびリッチインターネットアプリケーション(RIA)の設計、作成、テスト、および展開に使用されるJavaライブラリです。





  • JavaFXを作成する動機の1つは、Swingを置き換えることでした。さらに、JavaFXは、Swingよりも設計の一貫性があります。
  • より多くの機能があり、より現代的であるため、レイアウトファイル(XML)を使用してGUIを設計し、 。
  • JavaFXは、2D + 3Dグラフィックス、チャート、オーディオ、ビデオ、および組み込みWebアプリケーションを1つのコヒーレントGUIツールキットに統合します。

注意: リッチインターネットアプリケーションは、デスクトップアプリケーションと同様の機能とエクスペリエンスを提供するWebアプリケーションです。ユーザーにとって通常のWebアプリケーションと比較すると、視覚的なエクスペリエンスが向上します。

JavaFXが正確に何であるかを理解したので、このJavaFXチュートリアルの次の部分でJavaFXのアーキテクチャ部分を確認してください。



JavaFXアーキテクチャ

JavaFXには、相互に接続されたさまざまな組み込みコンポーネントがあります。これには、多くのプラットフォームで一貫して実行されるリッチインターネットアプリケーションを開発するのに十分なAPIの豊富なセットが含まれています。次の図は、JavaFXAPIのアーキテクチャを示しています。

アーキテクチャ-JavaFXチュートリアル-Edureka

これらの各コンポーネントについて詳しく見ていきましょう。



シーングラフ

シーングラフは、JavaFXアプリケーションを構築するための開始点です。階層的です アプリケーションのユーザーインターフェイスのすべての視覚要素を表すノードの数。シーングラフの単一の要素はノードと呼ばれます。各ノードは、ブランチノードまたはリーフノードのいずれかです。ブランチノードには、子のように他のノードを含めることができますが、リーフノードには他のノードを含めることはできません。ツリーの最初のノードは、 ルートノード。 ルートノードには親がありません。

にはさまざまなクラスがあります javafx.scene ノードでいくつかの変換を作成、変更、および適用するために使用されるパッケージ。

グラフィックエンジン

JavaFXグラフィックエンジンは、シーングラフコンポーネントにグラフィックサポートを提供します。通常、2Dグラフィックスと3Dグラフィックスの両方をサポートします。また、システムに存在するグラフィックハードウェアがハードウェアアクセラレーションによるレンダリングをサポートできない場合に、ソフトウェアレンダリングを提供します。

JavaFXの2つのグラフィックスアクセラレーションパイプラインは次のとおりです。

  • プリズム–それは、2Dグラフィックスと3Dグラフィックスの両方をレンダリングできる、ハードウェアアクセラレーションによる高性能グラフィックスです。
  • クォンタムツールキット–プリズムとガラス窓ツールキットを結合するために使用され、スタック内の上記のレイヤーで使用できるようにします。

Glass Windowing Toolkit

これは、JavaFXプラットフォームをネイティブオペレーティングシステムに接続するプラットフォーム依存のレイヤーです。ウィンドウ、イベント、タイマー、サーフェスの管理など、ネイティブオペレーティングシステムサービスを提供します。

メディアとWebエンジン

  • Webエンジン–それを埋め込むために使用されるウェブブラウザエンジンです JavaFXシーングラフへのコンテンツ。HTML5、CSS、 、DOM、およびSVG。
  • メディアエンジン–それデスクトップウィンドウまたはサポートされているプラ​​ットフォームのWebページ内でメディアの再生を可能にするメディアアプリケーションを作成するためのツールを提供します。 JavaFX メディアエンジン として知られているオープンソースエンジンに基づいています ストリーマー 。ビデオおよびオーディオコンテンツの再生をサポートします。

これらはJavaFXAPIをサポートするコンポーネント。このJavaFXチュートリアルの次の部分は、JavaFXアプリケーションの構造についてです。

JavaFXアプリケーションの構造

JavaFXアプリケーションは、ステージ、シーン、ノードの3つの主要コンポーネントに階層的に分割されています。

ステージ

これは、メインコンテナであり、アプリケーションのエントリポイントです。これはメインウィンドウを表し、作成されたステージオブジェクトはの引数として渡されます 開始() の方法 応用 クラス。ステージには2つのパラメータがあります。 幅、 そして 高さ、 つまり、位置を決定します

利用可能なステージには5つのタイプがあります&マイナス

  • 飾られた
  • 装飾されていない
  • トランスペアレント
  • 統一
  • ユーティリティ

あなたは電話する必要があります 公演() ステージの内容を表示するメソッド。

シーン

ザ・ シーン ステージのビジュアルコンテンツのコンテナです。画像ビュー、ボタン、グリッド、テキストボックスなどのUI要素を保持します。 Javafx.scene.Scene クラスパッケージの javafx.scene シーンオブジェクトを処理するためのすべてのメソッドを提供します。を作成することでシーンを作成できます シーン クラスオブジェクトとレイアウトオブジェクトをSceneクラスコンストラクターに渡します。

シーングラフとノード

それはに存在します階層の最下位レベル。 A シーングラフ は、シーンのコンテンツを表すツリーのようなデータ構造(階層)です。これは、さまざまなノードのコレクションと考えることができます。基本的に。 a ノード シーングラフのビジュアル/グラフィックオブジェクトです。ザ・ ノード パッケージのクラス javafx.scene JavaFXの単一ノードを表し、このクラスはすべてのノードのスーパークラスです。

今、あなたは知っていますJavaFXアプリケーションの構造の詳細については、このJavaFXチュートリアルの例を使用してJavaFXアプリケーションを作成する方法を学びましょう。

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

Jの実行方法を確認しましょう avaFX IDEEclipseでのプログラミング。あなたがする必要がある最初のことはインストールすることです e(fx)クリップ EclipseIDE用のプラグイン。 e(fx)クリップ は、JavaFXプログラミングの実行に役立つツールと必要なライブラリのセットです。

cプログラムのリンクリスト

ここでは、印刷する単純なJavaFXアプリケーションを作成しています エドゥレカへようこそ! ステージに表示されているボタンをクリックすると、コンソールで。

パッケージapplicationimport javafx.application.Application import javafx.event.ActionEvent import javafx.event.EventHandler import javafx.scene.Scene import javafx.scene.control.Button import javafx.scene.layout.StackPane import javafx.stage.Stage public class Main extends Application {@Override public void start(Stage primaryStage){Button btn = new Button()btn.setText( 'Say' Welcome to Edureka! '')btn.setOnAction(new EventHandler(){@ Override public void handle( ActionEvent event){System.out.println( 'Welcome to Edureka!')}})StackPane root = new StackPane()root.getChildren()。add(btn)Scene scene = new Scene(root、300、250)primaryStage .setTitle( 'Hello World!')primaryStage.setScene(scene)primaryStage.show()} public static void main(String [] args){launch(args)}}

出力:

エドゥレカへようこそ!

JavaFXアプリケーションのサンプルプログラムの説明

このサンプルプログラムが簡単な手順でどのように機能するかを理解してみましょう。

ステップ1: javafx.application.Applicationを拡張し、start()メソッドをオーバーライドします

前に説明したように、 開始() メソッドは、JavaFXアプリケーションの開始点です。インポート JavaFX.application.Application start()メソッドをオーバーライドします。 start()メソッドをオーバーライドし、それにoを渡しますクラスの対象 javafx.stage.Stage。

@Override public void start(Stage primaryStage)

ステップ2: ボタンを作成する

をインスタンス化することでボタンを作成できます javafx.scene.control.Button クラス。したがって、関連するクラスをコードにインポートします。 Buttonクラスコンストラクターでボタンラベルテキストを渡します。

配列javaで最大の要素を見つける
ボタンbtn = new Button()

ステップ3: ボタンのイベントを作成する

このサンプルアプリケーションは、イベントのテキストをボタンに出力します。したがって、ボタンのイベントを作成する必要があります。この目的のために、 setOnAction() ボタンで、匿名クラスのイベントハンドラーをメソッドのパラメーターとして定義します。この匿名クラス内で、メソッドhandle()を定義します。 handle()メソッドのコードを確認してください。

btn.setText( 'Say' Welcome to Edureka! '')btn.setOnAction(new EventHandler(){@ Override public void handle(ActionEvent event){System.out.println( 'Welcome to Edureka!')}

ステップ4: レイアウトを作成し、それにボタンを追加します

JavaFXは通常、いくつかのレイアウトを提供します。ウィジェットを適切に視覚化するために、それらの1つを実装します。このレイアウトにボタンやテキストなどの他のノードを追加する必要があります。

StackPane root = new StackPane()root.getChildren()。add(btn)

ステップ5: シーンを作成する

シーンは、JavaFxアプリケーション構造の階層の上位レベルにあります。したがって、レイアウトをシーンに追加する必要があります。あなたはそれをインスタンス化して作成することができます javafx.scene.Scene クラスを作成し、レイアウトオブジェクトをシーンクラスコンストラクタに渡します。

シーンシーン=新しいシーン(ルート、300、250)

ステップ5: ステージを準備する

ステージは、アプリケーションのメインコンテナおよびエントリポイントです。によって提供される方法を使用する javafx.stage.Stage ステージのいくつかの属性を設定するクラス。show()メソッドを使用してステージを表示します。これがそのためのコードです。

primaryStage.setTitle( 'Hello World!')primaryStage.setScene(scene)primaryStage.show()

ステップ6: mainメソッドを作成します

最後のステップで、アプリケーションを起動するメインメソッドを作成します。つまり、launch()メソッドを呼び出し、コマンドライン引数(args)を渡します。

public static void main(String [] args){launch(args)}

ステップ7: アプリケーションを実行して出力を確認します。

さらに面白くするために、HTMLやCSSなどのカスタムデザインを適用してJavaFXアプリケーションのUIを変更できます。

これで終わりですJavaFXチュートリアル。 JavaFXアプリケーションの内部構造を調べ、そのアーキテクチャ、ライフサイクル、およびコンポーネントの主要な機能を学びました。また、簡単なGUIアプリケーションの作成方法も確認しました。

できるだけ練習し、経験を元に戻してください。

チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。私たちはあなたの旅のすべてのステップであなたを助けるためにここにいます、このJavaインタビューの質問に加えてなるために、私たちはJava開発者になりたい学生と専門家のために設計されたカリキュラムを考え出します。

質問がありますか?このJavaFXチュートリアルのコメントセクションでそれについて言及してください できるだけ早くご連絡いたします。