ITnetwork Flashka zdarma C a C++ týden
Akce! Pouze tento týden sleva až 80 % na kurzy C++. Lze kombinovat s akcí 50 % bodů navíc na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Manuální instalace JavaFX

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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.

Možnosti stažení JavaFX SDK

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álosti
  • controls - zahrnuje všechny ovládací prvky, kterými JavaFX disponuje
  • fxml - definuje FXML API pro JavaFX
  • graphic - 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 videem
  • swing - podpora pro swingové komponenty
  • web - 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.

Hledani potrebnych knihoven

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

Výběr správné verze knihovny

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

Zobrazení všech souborů, které lze stáhnout

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

Stažení knihovny se zdrojovými kódy

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.

Výsledek zkompilovaného programu

 

 

Článek pro vás napsal Petr Štechmüller
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Autor se věnuje primárně programování v Jave, ale nebojí se ani webových technologií.
Předchozí článek
Upomínač narozenin v JavaFX - Dokončení aplikace
Všechny články v sekci
Okenní aplikace v Java FX
Miniatura
Následující článek
Tvorba JavaFX aplikace za pomoci Gradlu
Aktivity (1)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!