NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.

Lekce 1 - Úvod do JavaFX

V tomto Java tutoriálu se naučíme vytvářet okenní (formulářové) aplikace v JavaFX. Naučíme se pracovat s tlačítky, textovými poli, tabulkami, ale i obrázky nebo např. grafy.

Pro absolvování kurzu nebudeme potřebovat žádné pokročilé znalosti, postačí nám alespoň základy objektově orientovaného programování v Javě.

API pro GUI v Javě

V Javě máme k dispozici minimálně čtyři možnosti, jak vytvářet grafické aplikace. Jsou to především tyto knihovny a frameworky:

  • AWT - Abstract Window Toolkit (AWT) je původní, nejstarší, javovská knihovna pro vytváření aplikací s GUI.
  • Swing - Framework Swing slouží jako náhrada za AWT. Momentálně je asi nejpopulárnějším javovským frameworkem pro GUI aplikace. Je to hlavně proto, že je přímo součástí standardní knihovny Javy, takže je jeho použití přímočaré. Zájemce odkážu na náš seriál kurzů, ve kterém se můžete s frameworkem Swing naučit pracovat.
  • JavaFX - My se v kurzu budeme věnovat frameworku JavaFX, který vznikl jako modernější náhrada za Swing.
  • SWT - Zmiňme ještě projekt firmy IBM - Standard Widget Toolkit, který převzala Eclipse Foundation. Po SWT můžeme sáhnout, pokud pracujeme v Eclipse IDE, jeho výhodou je zejména využití nativního kódu.

JavaFX

JavaFX je moderní framework pro tvorbu bohatých okenních aplikací. Bohatých je zde myšleno vizuálně. JavaFX přináší podporu obrázků, videa, hudby, grafů, CSS stylů a dalších technologií, které zajistí, že výsledná aplikace je opravdu líbivá. Zároveň je kladen důraz na jednoduchost tvorby. Všechny zmiňované věci má JavaFX v základu. Platformu JavaFX můžeme použít pro desktopové aplikace, webové applety nebo mobilní aplikace.

JavaFX vs. Swing

JavaFX byla původně zamýšlena jako náhrada za Swing, ale firma Oracle se nakonec rozhodla její vývoj ukončit a předat jej open-source komunitě, která postupně JavaFX vylepšuje. Změnily se i její oficiální stránky, nově najdete potřebnou dokumentaci na openjfx.io.

Od Javy verze 11 již není JavaFX součástí JDK. Abychom v ní mohli vyvíjet, je ji třeba přidat do projektu.

S pomocí Netbeans a Maven není žádný velký problém jednotlivé knihovny JavaFX k projektu připojit. Základní potřebné knihovny se nám automaticky přidají vybráním správného typu projektu při jeho vytváření a přidat další knihovny je díky nástroji Maven hračka. Vše si postupně ukážeme a uvidíte, že opravdu nejde o nic komplikovaného.

Gluon Scene Builder

Pro pohodlné vytváření JavaFX aplikací budeme potřebovat Scene Builder. Jde o nástroj pro vytváření uživatelského rozhraní metodou drag&drop. Je volně ke stažení na stránkách společnosti Gluon. Stáhneme si jej a nainstalujeme. S jeho pomocí pak můžeme vytvářet uživatelské rozhraní prostým přetahováním prvků z palety přímo na své místo do formuláře.

Založení JavaFX projektu

Poté, co máme nainstalován Scene Builder, si můžeme konečně vyzkoušet první JavaFX projekt.

Založme si v Netbeans projekt FXML JavaFX Maven Archetype (Gluon) z kategorie Java with Maven:

Výběr typu projektu - Java FX - Okenní aplikace

Pokud je to úplně poprvé, co daný projekt zakládáme, Netbeans si od nás vyžádá aktivaci podpory JavaFX. Klikneme na Download and Activate...:

Dialog Finding Feature - Java FX - Okenní aplikace

Odsouhlasíme licenční podmínky a počkáme, až Netbeans postahuje potřebné knihovny:

Odsouhlasení licence - Java FX - Okenní aplikace

Poté se nás Netbeans zeptá na jméno zakládaného projektu, nazvěme jej třeba HelloFx. Group Id nastavíme na cz.itnetwork a zkontrolujeme, zda se Package přepsal na cz.itnetwork.hellofx:

Pojmenování nového projektu - Java FX - Okenní aplikace

Dále zde máme možnosti nastavit verzi JavaFX a podobně, ale ty necháme tak jak jsou.

Poté, co klikneme na Finish, se nám vytvoří nový projekt. Zkontrolujeme si v panelu Projects, zda se nám vytvořily soubory tak, jak jsou na následujícím obrázku:

Struktura nového projektu - Java FX - Okenní aplikace

Důležité je především, abychom měli soubory App.java, PrimaryController.java a SecondaryController.java v Source Packages balíčku cz.itnetwork.hellofx. Také soubory primary.fxml a secondary.fxml ve složce src/main/resources/, musí být ve stejnojmenném balíčku. V Dependencies musí být vidět JavaFx knihovny jako javafx-controls a javafx-fxml.

V horním menu, v záložce Run nejprve klikneme na Build Project (můžeme použít klávesu F11). Pak projekt spustíme (nejrychleji stisknutím F6). Pokud se vše podařilo, otevře se nám okno s testovací JavaFX aplikací. Vidíme v něm jenom nápis Primary view a tlačítko Switch to secondary view, které slouží k přepínání mezi dvěma pohledy - Primary view a Secondary view.

Testovací JavaFx aplikace - Java FX - Okenní aplikace

Na závěr si ještě ověříme, že se nám správně nainstaloval Scene builder. Aplikaci zavřeme a najdeme si nový projekt v našem počítači. Ve složce src/main/resources/cz/itnetwork/hellofx/ máme uložený soubor primary.fxml. Poklepeme na něj myší a soubor otevřeme. Napoprvé nás nejspíš Windows vyzve, abychom vybrali aplikaci, která má soubor otevřít. V počítači najdeme, kde máme Scene Builder nainstalovaný, zvolíme SceneBuilder.exe a potvrdíme. Poté se Scene Builder spustí a v něm uvidíme náš soubor:

Soubor primary.fxml otevřený v Scene Builderu - Java FX - Okenní aplikace

Gratuluji, podařilo se vám zprovoznit JavaFX na vašem počítači.

V příští lekci, FXML a první formulářová aplikace v JavaFX, si rozebereme aplikaci vytvořenou v dnešní lekci, a poté ji upravíme do klasické Hello World aplikace.


 

Všechny články v sekci
Java FX - Okenní aplikace
Přeskočit článek
(nedoporučujeme)
FXML a první formulářová aplikace v JavaFX
Článek pro vás napsal Petr Štechmüller
Avatar
Uživatelské hodnocení:
49 hlasů
Autor se věnuje primárně programování v Javě, ale nebojí se ani webových technologií.
Aktivity