Manuální instalace JavaFX
V předchozím kvízu, Kvíz - JavaFX, jsme si ověřili nabyté zkušenosti z kurzu.
V článku Úvod do JavaFX jsme si ukázali instalaci JavaFX jako globální knihovny pro NetBeans a její následné použití v projektu. Tento článek obsahuje alternativní postupy pro instalaci JavaFX jako binárky a dále manuální instalaci JavaFX jako knihovny a je určen pro pokročilejší publikum.
Již víme, že JavaFX bohužel není od Javy 11 součástí JRE. Knihovna se nadále vyvíjí a poskytuje skvělou platformu pro vytváření bohatých desktopových aplikací.
Instalace JavaFX jako binárky
Již jsme si říkali, že ji můžeme nainstalovat jako binárku nebo jako knihovnu. Pro úplnost si nejprve ukažme i první možnost.
Instalace
Binární soubory JavaFX se nachází na stránkách organizace Gluon. Odtud si stáhněte SDK podle vašeho operačního systému.

SDK rozbalte někam na disk, kam máte právo zápisu. Dále je potřeba
informovat systém, že JavaFX je přítomna. To zařídíme přidáním
proměnné PATH_TO_FX
mezi systémové proměnné.
Vytvoření projektu
Pro otestování správnosti instalace si vytvořte někde soubor
HelloFX.java
, do kterého vložte následující kód:
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class HelloFX extends Application { @Override public void start(Stage stage) { String javaVersion = System.getProperty("java.version"); String javafxVersion = System.getProperty("javafx.version"); Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + "."); Scene scene = new Scene(new StackPane(l), 640, 480); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(); } }
Zkompilování programu
Ve složce se souborem HelloFX.java
si spustíme příkazový
řádek. To uděláte např. otevřením složky v průzkumníku, kde se
vrátíte o 1 složku nahoru pomocí Alt + ↑. Nyní
stisknete Shift, kliknete na složku s projektem pravým tlačítkem
a vyberete "Otevřít zde okno příkazového řádku" (případně okno
PowerShell).
Do příkazového řádku vložíme následující příkaz, pomocí kterého zkompilujeme program:
javac --module-path %PATH_TO_FX% --add-modules=javafx.controls HelloFX.java
Pokud konzole vypíše hlášku, že nezná příkaz
javac, znamená to, že buď nemáte nainstalovanou Javu, nebo
nemáte přidanou cestu k souboru javac
v systémové proměnné
PATH. Je tedy potřeba cestu přidat stejně, jako v případě
JavaFX.
Po zkompilování se vytvoří nový soubor HelloFX.class
,
který spustíme pomocí následujícího příkazu:
java --module-path %PATH_TO_FX% --add-modules=javafx.controls HelloFX
Pokud vše proběhne úspěšně, uvidíte okno s vypsanými informacemi o použité verzi Javy a JavaFX.
Co přesně znamenají jednotlivé řádky kódu si vysvětlíme později. Nyní se pouze chceme přesvědčit, že máme JavaFX správně nainstalovanou.
Instalace JavaFX jako knihovny
Knihovny jsou hostované na stránkách Maven central a jsou rozděleny do následujících kategorií:
base
- definuje základní API pro JavaFX, bindingy, property, kolekce a událosticontrols
- zahrnuje všechny ovládací prvky, kterými JavaFX disponujefxml
- definuje FXML API pro JavaFXgraphic
- obsahuje hlavní API pro graf scény všech ovládacích prvků (layouty, kontejnery, životní cyklus aplikace, grafické tvary, transformace, canvas, ošetření vstupu, kreslení, zpracování obrázků), dále obsahuje API pro animace, podporu CSS stylů a dalšímedia
- obsahuje API pro práci se zvukem a videemswing
- podpora pro swingové komponentyweb
- obsahuje API pro zobrazení webových stránek za pomoci WebView komponenty
Instalace
Pro minimální konfiguraci budeme potřebovat celkem 3 knihovny:
base
, graphics
a controls
. Vytvořte si
novou složku, do které stáhnete tyto tři knihovny.

V Maven centrálním repozitáři naleznete požadované knihovny.

Vyberete si požadovanou verzi. Je důležité, aby jste měli stejnou verzi pro všechny moduly JavaFX.

Přes odkaz "View all" si zobrazíte seznam všech dostupných souborů, které lze stáhnout.

Stáhněte soubor jak se zdrojovými kódy (source), tak specifický podle operačního systému (Windows, Linux, MacOS).
Vytvoření projektu
Ve složce s projektem opět vytvořte soubor HelloFX.java
a do
obsahu vložte kód, který je uveden výše.
Nyní se podíváme, jak říci Javě, aby použila stažené knihovny.
Abychom správně zkompilovali program, musíme JavaFX "přilinkovat". To
zařídíme parametrem -cp
(classpath), kterému předáme plnou
cestu ke knihovnám. Protože máme zdrojový kód programu a knihovny vedle
sebe, bude výsledný příkaz pro kompilaci vypadat následovně:
javac -cp javafx-base-11.0.1-sources.jar;javafx-controls-11.0.1-sources.jar;javafx-graphics-11.0.1-sources.jar HelloFX.java
Uživatelé systému Linux použijí jako separátor oddělující jednotlivé knihovny znak ":".
Spuštění programu
Konečně se dostáváme ke spuštění programu. Pomocí následujícího příkazu spustíme aplikaci.
java --module-path javafx-base-11.0.1-linux.jar:javafx-controls-11.0.1-linux.jar:javafx-graphics-11.0.1-linux.jar --add-modules=javafx.controls HelloFX
Pokud se vše podařilo, mělo by se objevit okno s informacemi o verzi samotné Javy a knihovny JavaFX.
