Table of Contents
Scene Builder 8.0.0 (Gluon)
Scene Builder este un utilitar destinat dezvoltării de interfețe grafice pentru aplicații JavaFX, într-un mod vizual, generând fișierele FXML corespunzătoare prelucrate în cadrul aplicațiilor. Inițial dezvoltat de Oracle, acest produs nu a mai fost menținut începând cu versiunea Java 8u40, continuarea sa fiind realizată sub forma unui proiect Open Source de către Gluon.
Instalare
Sunt puse la dispoziție atât un fișier .jar (executabil) cât și mai multe pachete de instalare, pentru cele 2 tipuri de arhitecturi (32 și 64 de biți).
Linux
Sunt disponibile pachete de tip .rpm și .deb, în funcție de tipul de distribuție a sistemului de operare.
student@aipi2015:~$ sudo rpm -i scenebuilder-8.0.0-1.x86_64.rpm
student@aipi2015:~$ sudo dpkg -i scenebuilder-8.0.0.deb
Windows
Deși sunt disponibile fișiere executabile pentru ambele tipuri de arhitecturi, în cele mai multe cazuri versiunea pentru arhitectura pe 64 de biți prezintă o serie de optimizări care o recomandă indiferent de tipul de procesor / sistem de operare.
Utilizare
Utilitarul Scene Builder permite ca pentru fiecare control grafic să se specifice mai multe atribute, grupate în mai multe categorii: proprietăţi propriu-zise, aspecte legate de modul de dispunere (containerul din care fac parte) şi de codul sursă.
Caracteristicile programului SceneBuilder sunt:
- interfaţă WYSIWYG de tip drag and drop care permite crearea rapidă a unei interfeţe cu utilizatorul fără a fi nevoie de a scrie cod sursă; controalele pot fi preluate dintr-o bibliotecă şi dispuse în modul în care se doreşte afişarea lor;
- integrare facilă cu orice IDE pentru Java de vreme ce este un utilitar de sine stătător;
- generare automată a codului FXML se produce la construirea interfeţei cu utilizatorul, acesta fiind menţinut separat de logica aplicaţiei şi foile de stil;
- editare în timp real şi funcţionalităţi de previzualizare ce permit ca modificările la interfaţa cu utilizatorul să fie vizibile pe măsură ce sunt implementate, fără a fi necesar ca aplicaţia să fie compilată, reducând timpul de dezvoltare al proiectului;
- acces la întreaga bibliotecă de controale JavaFX 8;
- posibilitatea de specificare a unor elemente de interfață grafică definite de utilizator, importate din arhive JAR, fișiere FXML sau importate în panourile de ierarhie / conținut;
- suport 3D, pentru obiectele de acest tip putând fi specificate proprietățile din panoul de inspectare (cu excepția proprietăților
Material
șiMesh
); încă nu pot fi create obiecte 3D; - suport pentru text particularizat, prin implementarea containerului
TextFlow
ce poate conține mai multe noduri de tipText
, acestea putând fi gestionate autonom; - JavaFX Scene Builder Kit este un API ce permite integrarea funcționalităților direct în interfața grafică a unui mediu de dezvoltare integrat precum NetBeans, IntelliJ, Eclipse;
- suport pentru CSS permite gestiunea flexibilă a modului în care arată aplicaţia;
- suport pentru mai multe sisteme de operare, având pe toate un comportament consistent;
- gratuitate pentru toate tipurile de utilizatori.
Utilitarul Scene Builder 8.0.0 are interfața grafică împărțită în 7 secțiuni.
În secţiunea 1 (Library
) este disponibilă o bibliotecă de componente cu care se poate construi interfaţa cu utilizatorul. Ele pot indica modul de dispunere al obiectelor sau pot constitui controale propriu-zise. Acestea sunt grupate pe categorii: Containers
, Controls
, Menu
, Miscellaneous
, Shapes
, Charts
, 3D
.
În secţiunea 2 (Document
) este prezentată:
- ierarhia de noduri (
Hierarchy
). Un obiect care conţine şi alte obiecte la rândul său va avea asociată un semn de plus sau minus, după cum conținutul său poate fi expandat, respectiv restrâns; - elementele care pot fi injectate în codul sursă (
Controller
). Este specificată clasa controller asociată fișierului FXML precum și componentele care au precizat un identificator unic pe baza căruia pot fi accesate în codul sursă.
În secţiunea 3 se poate previzualiza interfaţa cu utilizatorul. Aici aceasta se construieşte propriu-zis scena prin operaţii de tip drag and drop. În partea de sus a secțiunii este indicată scena de grafuri pentru nodul curent. Dacă nodul care se adaugă interfeţei se află deasupra unui alt obiect, acesta va fi evidenţiat în mod deosebit, astfel încât să se poată determina cu exactitate ierarhia nodurilor din interfaţa cu utilizatorul. În situaţia în care un nod este adăugat peste un alt obiect, acesta va fi inclus în nodul respectiv, stabilindu-se o relaţie de tip părinte-fiu.
În secțiunea 4 (Inspector
) pot fi căutate elemente fie din biblioteca de controale, fie din interfaţa grafică. O astfel de funcţionalitate este deosebit de utilă în special pentru interfeţele cu utilizatorul mai complexe, în care identificarea unui element este mai dificilă.
În secţiunea 5 (Properties
) se pot stabili proprietăţile obiectului selectat în mod curent (efecte, transformări, asocierea unor foi de stil, aliniere, vizibilitate, opacitate, orientare).
În secţiunea 6 (Layout
) sunt tratate aspecte legate de modul de dispunere a nodului (dimensiuni, aliniere, poziție, transformări, limite).
În secţiunea 7 (Code
) sunt indicate metodele executate din clasa controller atunci când o acţiune de tipul respectiv se produce asupra interfeţei respective. Categoriile de evenimente incluse sunt main, drag and drop, evenimente legate de tastaura şi mouse, precum şi evenimente specifice dispozitivelor cu ecran tactil (rotire, glisare, atingere, modificarea rezoluţiei de vizualizare).