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.xml | JavaFX: 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дозволяє визначити індекс ітерованої змінної в тілі циклу: