JavaFX - Architektura

JavaFX zapewnia pełne API z bogatym zestawem klas i interfejsów do tworzenia aplikacji GUI z bogatą grafiką. Ważne pakiety tego interfejsu API to -

  • javafx.animation - Zawiera klasy do dodawania animacji opartych na przejściach, takich jak wypełnianie, zanikanie, obracanie, skalowanie i tłumaczenie, do węzłów JavaFX.

  • javafx.application - Zawiera zestaw klas odpowiedzialnych za cykl życia aplikacji JavaFX.

  • javafx.css - Zawiera klasy do dodawania stylów podobnych do CSS do aplikacji GUI JavaFX.

  • javafx.event - Zawiera klasy i interfejsy do dostarczania i obsługi zdarzeń JavaFX.

  • javafx.geometry - Zawiera klasy do definiowania obiektów 2D i wykonywania na nich operacji.

  • javafx.stage - Ten pakiet zawiera klasy kontenerów najwyższego poziomu dla aplikacji JavaFX.

  • javafx.scene- Ten pakiet zawiera klasy i interfejsy do obsługi wykresu sceny. Ponadto udostępnia również pakiety podrzędne, takie jak płótno, wykres, sterowanie, efekt, obraz, dane wejściowe, układ, media, farba, kształt, tekst, transformacja, sieć itp. Istnieje kilka komponentów obsługujących to bogate API JavaFX .

Poniższa ilustracja przedstawia architekturę interfejsu API JavaFX. Tutaj możesz zobaczyć komponenty obsługujące API JavaFX.

Wykres sceny

W JavaFX aplikacje GUI zostały zakodowane przy użyciu wykresu scen. Wykres sceny jest punktem wyjścia do tworzenia aplikacji GUI. Zawiera prymitywy aplikacji (GUI), które są określane jako węzły.

Węzeł jest obiektem wizualnym / graficznym i może obejmować -

  • Geometrical (Graphical) objects - (2D i 3D), takie jak okrąg, prostokąt, wielokąt itp.

  • UI controls - takie jak przycisk, pole wyboru, pole wyboru, obszar tekstowy itp.

  • Containers - (panele układu), takie jak Border Pane, Grid Pane, Flow Pane itp.

  • Media elements - takie jak obiekty audio, wideo i obrazowe.

Ogólnie zbiór węzłów tworzy wykres sceny. Wszystkie te węzły są ułożone w kolejności hierarchicznej, jak pokazano poniżej.

Każdy węzeł na wykresie sceny ma jednego rodzica, a węzeł, który nie zawiera żadnych rodziców, jest znany jako root node.

W ten sam sposób każdy węzeł ma jedno lub więcej dzieci, a węzeł bez dzieci jest określany jako leaf node; węzeł z dziećmi jest określany jakobranch node.

Instancję węzła można dodać do wykresu sceny tylko raz. Węzły wykresu sceny mogą mieć efekty, krycie, transformacje, programy obsługi zdarzeń, programy obsługi zdarzeń, stany specyficzne dla aplikacji.

Pryzmat

Pryzmat to high performance hardware–accelerated graphical pipelinektóry jest używany do renderowania grafiki w JavaFX. Może renderować grafikę 2D i 3D.

Aby renderować grafikę, Prism używa -

  • DirectX 9 w systemie Windows XP i Vista.
  • DirectX 11 w systemie Windows 7.
  • OpenGL w systemach Mac i Linux, systemy wbudowane.

Jeśli obsługa sprzętowa grafiki w systemie nie jest wystarczająca, Prism używa ścieżki renderowania oprogramowania do przetwarzania grafiki.

W połączeniu z obsługiwaną kartą graficzną lub procesorem graficznym zapewnia płynniejszą grafikę. Na wypadek gdyby system nie obsługiwał karty graficznej, Prism domyślnie ustawia stos renderowania oprogramowania (jeden z dwóch powyższych).

GWT (zestaw narzędzi do okienek szkła)

Jak sama nazwa wskazuje, GWT świadczy usługi zarządzania oknami, zegarami, powierzchniami i kolejkami zdarzeń. GWT łączy platformę JavaFX z natywnym systemem operacyjnym.

Zestaw narzędzi Quantum

Jest to abstrakcja dotycząca niskopoziomowych komponentów Prism, Glass, Media Engine i Web Engine. Łączy ze sobą Prism i GWT i udostępnia je JavaFX.

WebView

Korzystając z JavaFX, możesz również osadzić zawartość HTML na wykresie sceny. WebView to komponent JavaFX, który jest używany do przetwarzania tej treści. Wykorzystuje technologię o nazwieWeb Kit, który jest wewnętrznym silnikiem przeglądarki internetowej typu open source. Ten komponent obsługuje różne technologie internetowe, takie jak HTML5, CSS, JavaScript, DOM i SVG.

Korzystając z WebView, możesz -

  • Renderuj zawartość HTML z lokalnego lub zdalnego adresu URL.
  • Obsługa historii i zapewnienie nawigacji Wstecz i Dalej.
  • Załaduj ponownie zawartość.
  • Zastosuj efekty do składnika internetowego.
  • Edytuj zawartość HTML.
  • Wykonuj polecenia JavaScript.
  • Obsługa wydarzeń.

Ogólnie rzecz biorąc, używając WebView, możesz kontrolować zawartość sieci web z poziomu Java.

Media Engine

Plik JavaFX media engine jest oparty na silniku open source znanym jako Streamer. Ten silnik multimedialny obsługuje odtwarzanie treści wideo i audio.

Silnik multimediów JavaFX zapewnia obsługę dźwięku dla następujących formatów plików -

Audio
  • MP3
  • WAV
  • AIFF
Video
  • FLV

Paczka javafx.scene.mediazawiera klasy i interfejsy zapewniające funkcje multimedialne w JavaFX. Dostarczany jest w postaci trzech komponentów, którymi są -

  • Media Object - To reprezentuje plik multimedialny

  • Media Player - Aby odtwarzać treści multimedialne.

  • Media View - Aby wyświetlić multimedia.