Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaFXアプリケーションの構造を説明する


一般に、JavaFXアプリケーションには、次の図に示すように、ステージ、シーン、ノードの3つの主要なコンポーネントがあります。

JavaFXアプリケーションの構造を説明する

ステージ

ステージ(ウィンドウ)には、JavaFXアプリケーションのすべてのオブジェクトが含まれています。パッケージjavafx.stageのStageクラスで表されます。 。 show()を呼び出す必要があります ステージの内容を表示する方法。

シーングラフ

シーングラフはツリーに似たデータ構造であり、最新のグラフィカルアプリケーションでは、ノードのコレクションです。 JavaFXアプリケーションでは、javafx.scene.thesceneクラスはシーングラフのすべてのコンテンツを保持します。

  • シーンを作成するときは、ルートノードを指定する必要があります。

  • たとえば、シーンオブジェクトは1つのステージにのみ追加されます。

ノード

ノードは、JavaFXアプリケーションの視覚的/グラフィカルなプリミティブオブジェクトです。

2Dおよび3Dジオメトリックオブジェクト(円、球など)、UIコントロールオブジェクト(ボタン、チェックボックスなど)、コンテナ/レイアウトオブジェクト(境界ペイン、グリッドペインなど)、メディア要素オブジェクト(オーディオ、ビデオ、画像オブジェクト)など)は、JavaFXのノードの(いくつかの)例です。

シーングラフの各ノードには単一の親があり、親を含まないノードはルートノードと呼ばれます。同様に、すべてのノードには1つ以上の子があり、子のないノードはリーフノードと呼ばれます。子を持つノードはブランチノードと呼ばれます。

以下は、JavaFXアプリケーションのさまざまな種類のルートノードです。

  • グループ −グループノードは、子ノードのリストを含む集合ノードです。グループノードがレンダリングされるたびに、そのすべての子ノードが順番にレンダリングされます。グループに適用された変換、効果状態は、すべての子ノードに適用されます。

  • 地域 −これは、チャート、ペイン、コントロールなど、すべてのJavaFXノードベースのUIコントロールの基本クラスです。

  • WebView −このノードはWebエンジンを管理し、その内容を表示します。

  • リーフノード −子ノードのないノードはリーフノードと呼ばれます。たとえば、Rectangle、Ellipse、Box、ImageView、MediaViewはリーフノードの例です。


  1. JavaFXシーングラフの説明

    JavaFXでは、GUIアプリケーションはシーングラフを使用して構築されていました。シーングラフは、最新のグラフィカルアプリケーションにおけるツリーに似たデータ構造です。これはアプリケーションの開始点であり、ノードのコレクションです JavaFXで何かを表示するにはノードを使用してシーングラフを作成し、それをJavaFXアプリケーションの最上位コンテナであるStageクラスのオブジェクトに設定する必要があります。 ノードは、JavaFXアプリケーションの視覚的/グラフィカルなプリミティブオブジェクトです。 シーングラフの各ノードには単一の親があり、親を含まないノードはルートノードと呼

  2. 画像の鮮明さを変更するOpenCVJavaFXアプリケーション

    画像をシャープにすることは、ぼかしの反対です。 OpenCVライブラリを使用して画像の鮮明度を変更するには、ガウスフィルターを使用して画像を平滑化/ぼかし、元の画像から平滑化されたバージョンを差し引く必要があります。 例 以下は、アルファ値とベータ値を表す2つのスライダーを備えたJavaFXプログラムです。 import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import javafx.