Spis treści

REVEAL theme=simple&disableLayout=0&transition=none&controls=1&show_progress_bar=1&build_all_lists=0&show_image_borders=0&horizontal_slide_level=2&enlarge_vertical_slide_headers=0&show_slide_details=1&open_in_new_window=1&size=1024×768

<html> <style type=„text/css”> p { text-align: left; } .reveal { font-size: 30px; } .reveal section { width: 96%; margin: 0 auto; } .reveal .slides { width: 60% !important; } .reveal ul, .reveal ol { margin-left: 1.5em; } .reveal pre code {

height: 100%;
max-height: 100%;
box-sizing: border-box;

} </style> </html>

JavaFX i OpenJFX - aplikacje RIA

JavaFX

JavaFX od Javy 8 była rekomendowaną biblioteką do budowy interfejsów graficznych. Wchodziła w skład JDK aż do wersji 11, po czym znów została dostarczana osobno (OpenJFX). JavaFX zastępuje AWT i Swing bogatszym zestawem kontrolek, umożliwia stylowanie CSS i separację logiki od prezentacji przez opis wyglądu w FXML (XML). Wspiera multimedia, JavaScript i HTML; kontrolki Swing można wykorzystać w aplikacjach JavaFX.

Cechy JavaFX

Aktualne wersje JavaFX (OpenJFX) dostępne są na: Gluon - JavaFX

Budowa interfejsu graficznego w JavaFX

Domyślnym narzędziem do projektowania jest Scene Builder, integrujący się z IntelliJ, NetBeans i Eclipse - umożliwia budowę GUI metodą „przeciągnij i upuść”.

Dokumentacja Scene Buildera: Oracle Scene Builder Nowe wersje: Gluon Scene Builder

Integracja JavaFX z IntelliJ

Integracja Scene Buildera z IntelliJ

Najważniejsze pakiety i klasy

JavaFX - architektura API

136_1.jpg

Scene Graph

137_1.jpg

Scene Graph przechowuje węzły (nodes): obiekty 2D/3D, kontrolki UI, kontenery, elementy multimedialne.

Prism

Prism to akcelerowany sprzętowo potok graficzny używający DirectX lub OpenGL; w braku wsparcia sprzętowego potrafi przełączyć się na renderowanie programowe.

GWT i Quantum Toolkit

WebView i Media Engine

JavaFX - struktura aplikacji

141_1.jpg

Stage i Scene

Stage to główne okno aplikacji przekazywane do metody start() klasy Application. Aby wyświetlić zawartość, wywołujemy show().

Scene reprezentuje zawartość aplikacji (węzły) i tworzona jest jako instancja klasy Scene.

Klasa Application

Klasa Application jest punktem wejścia aplikacji JavaFX. Należy rozszerzyć Application i zaimplementować metodę start(Stage primaryStage).

W metodzie start():

W metodzie main() należy wywołać launch(args), aby uruchomić aplikację JavaFX.

Kontrolki i zdarzenia

Dokumentacja JavaFX: JavaFX API (Oracle)

Aplikacje RIA

RIA (Rich Internet Application) to aplikacje jednoekranowe, wykonujące logikę po stronie klienta i komunikujące się z serwerem po dane.

JavaFX może służyć do budowy aplikacji RIA jako

Przykłady i materiały: