Vytvoření projektu v NetBeans
Vývojové prostředí NetBeans verze 8.0 nabízí v kategorii JavaFX vytvoření jednoho z pěti typů projektů. Především se jedná o JavaFX Application a JavaFX FXML Application. V JavaFX aplikaci jsou prvky uživatelského rozhraní definovány v kódu, zatímco JavaFX FXML aplikace používá pro tento účel jazyk FXML. V obou případech je po založení projektu vytvořena jednoduchá, ihned spustitelná aplikace typu „Hello World“, která je dále vyvíjena do zamýšlené podoby.
Postup založení projektu je ukázán v prvním a druhém video tutoriálu.
JavaFX obsahuje množství tříd pro tvorbu uživatelského rozhraní. Kromě tříd známých z knihovny Swing (tlačítka, textová pole atd.) se v balíčku javafx.scene nacházejí třídy takových prvků, jako jsou kontejnery pro média, dialogová okna umožňující výběr dne z kalendáře a mnoho dalších.
Jednotlivé prvky GUI (kontejnery, ovládací prvky, apod.) jsou umístěny ve stromové datové struktuře, nazývané Scene graph (graf scény) [2.1]. Tuto strukturu je možné vytvářet dvěma způsoby. Prvním z nich je „ruční“ psaní kódu, druhým je použití jazyka FXML.
Stage
Stage (Jeviště) je kontejnerem nejvyšší úrovně. Na platformě Windows představuje okno aplikace. Platforma, na které aplikace běží, vytváří jednu instanci třídy Stage.
Scene
Všechny prvky stromové hierarchie Uzlů (grafu scény) jsou uloženy v kontejneru Scéna (Scene). V konstruktoru Scény se definuje kořenový Uzel této hierarchie. Obecně se jedná o Předka (Parent), konkrétně jsou nejčastěji používány Oblasti (Region, tedy např. AnchorPane) [2.4].
Node
Abstraktní třída Node (Uzel) je předkem všech tříd, které jsou součástí stromové hierarchie GUI, tedy zejména kontejnerů a ovládacích prvků.
Region
Kontejnery slouží k uchovávání dalších Uzlů, kterými mohou být další kontejnery nebo listy (tlačítko, tvar, atp.). Kontejnery jsou odvozeny od třídy Region (Oblast, ta je odvozena od Parent).
Control
Ovladače umožňují uživateli provádět interakci s aplikací. Jedná se o tlačítka, posuvníky, lišty menu apod. V JavaFX jsou ovladače odvozeny od abstraktní třídy Control, a to jak přímo, tak nepřímo.
Canvas
Canvas, neboli Plátno, je Uzel, na jehož plochu je možné kreslit. Kreslení, spolu s dalšími, níže popsanými funkcemi, zajišťuje třída GraphicsContext2D (dále GC). Každé Plátno má jeden GC a referenci na něj je možné získat metodou getGraphicsContext2D() [2.12].
Shape
JavaFX poskytuje třídy pro reprezentaci geometrických tvarů. Tyto třídy jsou odvozeny od abstraktní třídy Shape (Tvar). Tvary jsou Uzly, lze je tedy vkládat do kontejnerů, provádět s nimi animace atd.
Chart
JPomocí JavaFX je možné vytvářet koláčové diagramy (třída PieChart) a diagramy zobrazující v kartézské soustavě souřadnic (XYChart).