JavaFX Language, JavaFX, FANDOM Powered by Wikia

Корисні поради

Установка JavaFX SDK

Щоб скомпілювати та запустити приклад, наберіть у командному рядку:

На екрані монітора у вас має з'явитися віконце із заголовком"Hello Frame"та написом "Hello World!"

Інструменти Розробки Правити

Для програмування на мові JavaFX Script можна скористатися існуючими середовищами розробки:

Короткий вступ у мову JavaFX Script

Дивись короткий вступ у мову JavaFX Script на прикладі компанії Pond Inc

Особливості мови JavaFX Script

Декларативний синтаксис

На відміну від імперативних мов, у яких описується послідовність виконуваних дій, мова JavaFX Script дозволяє описати структуру самої програми.

Створення програми на мові JavaFX Script можна розбити на 2 етапи

опис необхідних компонентів (класів) побудова програми з готових компонентів

Сама програма будується за принципом:

пишемо ім'я компонента у фігурних дужках задаємо атрибути компонента

Атрибути можуть мати простий тип (число, рядок) чи складний.

Таким чином програма JavaFX являє собою дерево вкладених один в одного компонент.

Приклад використання

Приклад використання

Мова JavaFX Script дозволяє описувати дані аналогічно тому, як це робиться в XML

XML: contacts.xmlJavaFX: Contacts.fx

Описавши класContactна мові JavaFX Script ви зможете скомпілювати файл Contacts.fx (компілятор перевірить всі помилки),завантажити дані з цього файлу у вашу програму та використовувати їх.

Результат виконання програми:

Система, що складається з компонентів

Приклад використання

Зв'язування даних

Оскільки програма JavaFX складається з набору компонентів, виникає необхідність пов'язувати між собою атрибути компонентів у дереві програми.

Для цього використовується операторbind.

У прикладі нижче зміннаRзв'язується:

з атрибутомvalueкомонентаSliderз атрибутомradiusкомонентаCircleз атрибутомcontentкомонентаText

Приклад використання

Пряме використання класів Java редагування

Програми на JavaFX Script та інших мовах

Hello World Правити

Приклад використання

Створення Hello World із готових компонентів:

Приклад використання

Розширення класу JFrame:

Приклад використання

Обробка подій

Приклад використання

Приклад використання

Опис мови JavaFX Script

Дивись також документацію:

Main файл Правити

Метод run

Отримання параметрів Правити

Отримання параметрів у методіrun:

або отримання переданих параметрів на ім'я:

Передача параметрів Правити

Типи даних

Базові типиПравити

У JavaFX Script існують такі примітивні типи:

Числа з плаваючою точкою

JavaFXтипОписприклад
BooleanЛогічний типtrue, false
CharacterСимвол
StringРядок"Hello World!"
ByteБайт10
ShortКоротке ціле число12
IntegerЦіле число12
LongДовге ціле число12
FloatРічове число5.0
DoubleРечовина з подвійною точністю10.0
DurationЧас12s // 12 секунд

Тому можна використовувати всі ті методи, які є у цих типів у мові Java

Функції Правити

Функції є окремим типом даних.

Наприклад, змінній можна присвоїти функцію:

Клас може мати атрибут типу функція:

Функцію можна передавати як аргумент іншої функції

Послідовності

Послідовність (Sequence) у мові JavaFX Script містить у собі набір елементів однієї й тієї типу.

У JavaFX Script всі послідовності одномірні.

Для того, щоб задати послідовність, потрібно перерахувати її елементи через кому в квадратних дужках:

Квадратні дужки є вказівкою, що оголошений аттрибут є послідовністю:

Послідовності можна вкладати один в одного, отримуючи при цьому одну загальну послідовність:

Результатом буде послідовність:["Mon","Tue","Wed","Thur","Fri","Sat","Sun"];

Нумерація послідовностей проводиться від0.

Отримання елемента послідовності за індексом:

Отримання розміру послідовності:

Вибірка елементів послідовності:

Вставка та видалення елементів послідовності:

Сортування за допомогою Comparator-а:

Опис пристрої послідовностей:

Перераховані типи

У мові JavaFX Script немає власних типів даних, але їх можна використовувати з Java.

Використання перерахованого типу:

Оператори Правити

ОператорОписПриклад використання
+Скласти2+3
-Відняти5 - 2
*Помножити2*2
/Розділити10/5

Константи та змінні

Константи

Константи задаються за допомогою ключового словаdef:

Змінні Правити

Оголошення змінної

Рекурсивне використання змінної

Іноді при створенні об'єкта виникає необхідність відразу використовувати його атрибути чи методи.

Наприклад ви задаєте коло, а при натисканні мишкою на коло потрібно змінити колір.

Щоб код успішно скомпілювався в цьому випадку необхідно обов'язково вказувати тип змінної, що визначається.

Використання змінної вдереві програми Правити

Іноді необхідно звернутися до об'єкта, який є частиною програми.

У цьому випадку можна визначити змінну відповідного типу на початку програми, а потім у дереві програмі привласнити їй необхідний об'єкт.

Приклад того, як змінній присвоїти компонент MediaPlayer, який заданий у дереві програми:

Класи Правити

Оголошення класу

Оголошення атрибутів та функцій

Статичні атрибути та функції оголошуються поза класом:

Ініціалізація об'єкту

Ініціалізація об'єкта за допомогою блокуinit:

Інінціалізація об'єкта з використаннямтригерів:

Абстрактні класи

Щоб оголосити абстрактний клас, потрібно використати ключове слово abstract

Інтерфейси

У JavaFX немає інтерфейсів як таких, зате дозволяється розширювати Java інтерфейси.

Спадкування класів

Щоб успадкуватись від вже існуючого класу, треба використовувати ключове словоextends

Множинне успадкування

У JavaFX можна створювати mixin класи. mixin класи, це абстрактні класи для яких дозволено множинне спадкування.

Повний приклад з використанням Класів

Функції Правити

Оголошення функції Правити

Функції у мові JavaFX Script дозволяють як обчислити якесь значення, і виконати певний набір дій.

Приклад виклику функцій:

Рекурсивні функції

Також можна визначати рекурсивні функції:

Функція як самостійний тип даних

Функції JavaFX Script є окремим типом даних. Їх можнапривласнювати змінним:

Базові конструкції

Оператор імпортуimport

import​​у JavaFX схожий наimport​​у Java, проте є і суттєва відмінність:import​​може зустрічатися в будь-якому місці коду (не обов'язково міжpackage> іclassУ цьому планіimport​​нагадуєrequired_once()з мови PHP.

Крім того, в інтепретованій версії мови JavaFX Script був цікавий різновид цього оператора, що дозволяє імпортувати клас і призначити йому синонім, під яким цей клас буде "бачений":

Таким чином JavaFX вирішувалася проблема використання класів з однаковими іменами в Java (наприклад, спільне використанняjava.util.Dateіjava.sql.Date). Таку ж можливість планується реалізувати і в компільованій версії JavaFX Script.

Block Expression Правити

У фігурних дужках можна написати вираз, який буде виконано. Результат останнього виразу буде повернено як значення.

Оператор зв'язування данихbind

У мові JavaFX визначено оператораbindякий дозволяє пов'язати змінну з певним виразом. При цьому зміна будь-якої змінної виразу також автоматично тягне зміну пов'язаної з цим виразом змінної.

Приклад використання оператораbind:

Як видно з прикладу, при зміні будь-якої зі змінних a або b автоматично змінюється та пов'язана з ними змінна maxAB

Тригери

Тригери (triggers) використовуються для того, щоб за певними подіями (наприклад, зміна змінної або атрибута класу) можна було виконувати необхідні користувачеві дії.

Установка тригера для атрибута класу:

Використання старого та нового значення атрибута:

Установка тригера для послідовності:

Умовна конструкція if

Наприклад, фукція, яка обчислює максимум двох чисел, може виглядати наступним чином:

Цикл for Правити

Приклад циклу, який повторюється 100 разів:

Приклад циклу, що створює 3 кнопки:

Операціяindexofдозволяє визначити індекс ітерованої змінної в тілі циклу: