Назад Зміст Вперед

1.6. Основи JavaFX

Що таке JavaFX ?

JavaFX — платформа та набір інструментів для створення насичених інтернет-застосунків (англ. Rich Internet Applications, RIA) з можливістю підвантаження медіа та змісту. Вперше продемонстровано Sun Microsystems на Міжнародній конференції Java-розробників JavaOne у травні 2007. JavaFX включає в себе набір утиліт, за допомогою яких веб-розробники та дизайнери можуть швидко створювати та надавати розвинуті інтернет-застосунки для десктопів, мобільних пристроїв, телебачення та інших платформ.

JavaFX складається з JavaFX Script і JavaFX Mobile. Починаючи з випуску JavaFX 2.0 забезпечена можливість створення JavaFX-застосунків, написаних цілком на мові Java. Для розробки застосунків доступний багатий графічний і мультимедіа API, що спрощує створення візуальних програм.

Коротко з історії

У далекому 2007 на JavaOne компанія SunMicrosystems представила світу першу версію платформи JavaFX. Для того, щоб мати можливість писати на цій платформі програми, потрібно було ставити компілятор, і вчити нову мову - JavaFXScript. Але все змінилося, коли Oracle купила SunMicrosystems. Компанія вирішила припинити розвиток JavaFXScript, але повідомила, що 2 версія JavaFX буде перенесена на Java. І вже 10 жовтня 2011 року було випущено JavaFX версії 2.0, у вигляді бібліотеки для Java. А з випуском восьмої версії Java, вона була додана до складу JDK і отримала символічний номер 8.

Основи JavaFX 

Компоненти JavaFX містяться в окремих пакетах, імена яких починаються з префікса javafx. Налічується понад 30 пакетів, що складають прикладний програмний інтерфейс JavaFX API. До їх числа відносяться такі пакети: javafx.application, javafx.stage, javafx.scene і javafx.scene.layout.

Класи Stage і Scene 

Центральним поняттям, впровадженим в JavaFX, є Stage. Як і в справжній театральній постановці, підмостки (Stage)  містять сцену. Простіше кажучи, Stage визначають простір, а сцена - то, що знаходиться в цьому просторі. Іншими словами, підмостки служать контейнером для сцен, а сцена - контейнером для елементів, які її складають. 

Таким чином, всі JаvаFХ-додатки складаються з одних Stage і однієї Scene. Ці елементи побудови додатків вміщені в класах Stage і Scene, що входять в JavaFX API. Щоб створити JаvаFХ-додаток, потрібно ввести хоча б один об'єкт типу Scene в контейнер типу Stage

Клас Stage служить контейнером верхнього рівня. Всі JаvаFХ-додатки автоматично отримують доступ до одного контейнеру типу Stage. Головні підмостки надаються виконуючою системою при запуску JаvаFХ-додатки на виконання. Для багатьох додатків потрібні лише одні головні підмостки, хоча можна створити і інші підмостки. Як згадувалося вище, клас Scene служить контейнером для всіх елементів, складових сцени. Це можуть бути елементи управління, в тому числі екранні кнопки і прапорці, а також текст і графіка. Щоб створити сцену, слід ввести всі ці елементи в екземпляр класу Scene.

Вузли і графи сцени

Окремі елементи сцени називаються вузлами. Наприклад, вузлом вважається елемент управління екранною кнопкою. Але самі вузли можуть складатися з груп інших вузлів. Більш того, у кожного вузла може бути нащадок, або породжений вузол, і тоді він називається батьківським вузлом, або вузлом розгалуження. А вузли без нащадків є кінцевими і називаються листками. Сукупність усіх вузлів в сцені називається графом, що створює дерево.

У графі сцени є спеціальний тип вузла, названий кореневим. Це самий верхній і єдиний вузол графа, що не має батька. Отже, всі вузли, крім кореневого, є батьківськими, причому всі вони прямо або побічно походять від кореневого вузла.Базовим для всіх вузлів служить клас Node. Є ряд інших класів, які прямо або побічно походять від класу Node. До їх числа відносяться класи Parent, Group, Region і Control.

.