JavaFX Scene Builder

JavaFX Scene Builder je vizuální nástroj podporující technologii drag&drop pro vytváření grafického uživatelského rozhraní v JavaFX aplikacích bez potřeby psaní kódu. Uživatelé pouze „přetahují“ komponenty na pracovní plochu, upravují jejich vlastnosti a aplikují různé styly, zatímco se v pozadí generuje výsledný FXML kód, který lze samozřejmě upravovat. Manuální změny jsou ihned viditelné v návrhovém zobrazení. Scene Builder je napsána jako JavaFX aplikace a ukazuje tak sílu a eleganci právě této nové platformy, která je od vydání verze Java 8 součástí standardní Java knihovny. Nástroj je určen pouze pro vytváření aplikací postavených na JavaFX platformě, není tedy možné vyvíjet grafické rozhraní pro jiné jazyky. Nástroj sice umožňuje vytváření grafické části aplikace, ostatní části (logika aplikace a CSS soubory) ale nástroj vytvářet neumí. Doporučuje se tedy Scene Builder používat v kombinaci s dostupným IDE. Výstupy z vývojových nástrojů v podobě Java nebo CSS souborů lze napojit na projekt vytvářený ve SceneBuilderu stejně tak lze výstup ze Scene Builderu využít v různých vývojových nástrojích. Nejlépe je však Scene Builder integrován s NetBeans IDE, který stejně jako samotnou platformu JavaFX i nástroj Scene Builder vyvíjí firma Oracle. Otevřená beta verze tohoto nástroje byla uvedena v dubnu roku 2012 a od té doby prošla dalším vývojem. Momentálně je uvedena verze 2.0, která se objevila v dubnu roku 2014 a přichází s mnoha vylepšeními.

Obecné vlastnosti, verze Beta a 1.0 editovat

  • Nástroj pro vytváření uživatelského rozhraní – Scene Builder umožňuje snadné umisťování grafických komponent, obrazců, ovládacích panelů, kontejnerů, stejně tak jako animací a efektů pro sofistikovanější uživatelské rozhraní
  • FXML Visual Editor – FXML je značkovací jazyk na bázi XML a umožňuje uživateli definovat aplikační uživatelské rozhraní mimo aplikační logiku. Zároveň umožňuje otevírat a upravovat FXML soubory od jiných uživatelů
  • Integrated Developer Workflow – Scene Builder může být používán v kombinaci s jakýmkoliv IDE, doporučován je ale NetBeans, který dokáže přímo komunikovat se Scene builderem. Při změnách v FXML v NetBeans se změny promítnou i do Scene Builderu
  • Preview Your Work – Kdykoliv během vývoje se může uživatel podívat jak přesně bude uživatelské rozhraní vypadat. Případně je možné vytvářené rozhraní doplnit o testovací data umožňující hlouběji otestovat vytvářené rozhraní.
  • Cross Platform, Self Contained – Scene Builder je napsaná jako aplikace JavaFx, což zaručuje výhody klasické Java aplikace. Scene Builder je podporován systémy Windows, Mac OS X a Linux.
  • Podpora CSS – Ke každému uživatelskému rozhraní je možné dodat vlastní CSS soubory a přímo tak ovlivňovat vzhled jednotlivých komponent.

převzato z dokumentace

Verze 1.1 editovat

Tato verze přichází především s podporou Linuxové platformy, která je podporována balíkem JavaFX 2.2 SDK. Zároveň se Scene Builder stává samostatnou aplikací a již není nutné před její instalací mít nainstalován Java Runtime Environment (JRE). Dále je nově dostupný CSS analyzer, který pomáhá porozumět jaká pravidla definovaná CSS dokumentem ovlivňují jaké aspekty aktuálního elementu. Zároveň řadí definované vlastnosti elementů podle priority tak, aby bylo vidět které vlastnosti mají přednost před jinými (v případě více zdrojů formátování) a také kvůli přehlednosti. Mezi lepší novinky také patří možnost vytváření nových dokumentů na základě templejtů. V této verzi jsou dostupné 3 základní pro vytváření Alert Dialogu, Simple Application window a Complex Application window. Takto vytvořené nové dokumenty přicházejí spolu s CSS souborem a zdrojový kódem pro možnost rozšíření nebo personalizace. Release obsahuje také další drobná funkční i výkonnostní vylepšení. Podrobnosti lze dohledat na patřičných stránkách

Verze 2.0 editovat

Nová verze především podporuje všechny JavaFX API knihovny přicházející s novou verzí platformy (Java SE 8), a přináší řadu nových vlastností a vylepšení. Zároveň byla celá aplikace přebudována tak, aby její jednotlivé komponenty mohly být součástí větší aplikace, jako například samotného IDE. Tato vlastnost se nazývá JavaFX Scene Builder Kit. Na oficiálních stránkách dokumentace jsou dostupné návody jak používat SceneBuilder s různými IDE. Dostupné jsou návody pro NetBeans, Eclipse a IntelliJ. [1] Grafické komponenty od třetích stran v JAR archivu mohou být nyní přidány do knihovny již existujících komponent na trvalo. Byla přidána podpora nových javaFX 8 UI komponent (např. TreeTableView, DatePicker nebo SwingNode) přicházejících s novu Java SE 8 SceneBuilder nyní dokáže otevírat a upravovat FXML soubory obsahující 3D objekty a upravovat vlastnosti těchto objektů přes Inspector panel. Možnost vytváření 3D objektů zde ale stále chybí. Implementován nový kontejner TextFlow do knihovny grafických komponent. Upraveny prvky Library panel, Hierarchy panel, Content panel, Inspector panel, Preview Window. Podrobnosti na stránkách.

FXML editovat

Jazyk je založen na bázi XML, poskytující strukturu pro vytváření uživatelského rozhraní odděleně od aplikační logiky. FXML soubor popisuje pouze vzhled aplikace, zatímco handlery událostí k jednotlivým ovládacím prvkům jsou popsány v samostatném souboru v jazyce Java, Javascript nebo PHP. Jazyk sice nemá své vlastní schéma, má ale základní předdefinovanou strukturu elementů a atributů. Díky tomu, že namapovaná struktura FXML je přímo součástí Javy, může vývojář využívat dokumentaci pro kontrolu jaké elementy a atributy jsou povoleny. Jelikož je jazyk založen na bázi XML, je samozřejmě možné kód otevírat a upravovat v jakémkoli XML editoru. V zásadě každá JavaFX třída je element a většina vlastností těchto tříd mohou být použity jako atributy. FXML je primárně určeno pro navrhování uživatelského prostředí které má velkou a komplexní strukturu. Je vhodné jak pro vytváření statických formulářů nebo tabulek, tak pro vytváření dynamických návrhu obsahující skripty. Dokumentace jazyka FXML je dohledatelná zde.

Instalace a použití editovat

Kompletní příručky pro instalaci programu jsou přístupné na stránkách dokumentace Oracle Používání programu je velice intuitivní a jednoduché. Nelze však jednotlivé komponenty jen tak začít „házet na hromadu“. Jako první je potřeba umístit na plochu jakýkoliv Kontejner z nabídky, do kterého teprve můžeme začít umisťovat ostatní komponenty, případně i další kontejnery. Aplikace se sestavuje v principu tak, že jednotlivé komponenty vkládáme do jiných. Toto umožňuje lepší kontrolu nad celým designem a jednodušší generování FXML kódu, který má úplně stejnou strukturu jako strom komponent viditelný v levé dolní části nástroje. Konkrétní příklad vytváření aplikací pomocí Scene Builderu lze najít na stránkách Oracle, kde se hned v prvním tutoriálu ukazuje v jednotlivých krocích jak vytvořit jednoduchou grafickou stránku aplikace, doplnit jí o logiku a případně o styly a následně jí spustit.