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.
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).
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
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.
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:
Material și Mesh); încă nu pot fi create obiecte 3D;TextFlow ce poate conține mai multe noduri de tip Text, acestea putând fi gestionate autonom;
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ă:
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;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).