Введение в Java FX

Что такое Java FX

Последнее обновление: 23.09.2021

JavaFX представляет инструментарий для создания кроссплатформенных графических приложений на платформе Java.

JavaFX позволяет создавать приложения с богатой насыщенной графикой благодаря использованию аппаратного ускорения графики и возможностей GPU.

С помощью JavaFX можно создавать программы для различных операционных систем: Windows, MacOS, Linux, Android, iOS и для самых различных устройств: десктопы, смартфоны, планшеты, встроенные устройства, ТВ. Приложение на JavaFX будет работать везде, где установлена исполняемая среда Java (JRE).

JavaFX предоставляет большие возможности по сравнению с рядом других подобных платформ, в частности, по сравнению со Swing. Это и большой набор элементов управления, и возможности по работе с мультимедиа, двухмерной и трехмерной графикой, декларативный способ описания интерфейса с помощью языка разметки FXML, возможность стилизации интерфейса с помощью CSS, интеграция со Swing и многое другое.

История JavaFX фактически началась в первой половине 2000-х годов, когда разработчик по имени Крис Оливер (Chris Oliver), будучи работником компании SeeBeyond, разработал для создания графических интерфейсов новый язык F3 (Froms Follows Functions). Впоследствии в 2005 году SeeBeyond была приобретена компанией Sun Microsystems (которая на тот момент развивала язык Java до покупки компанией Oracle). F3 был переименован в JavaFX, а Крис Оливер продолжил работу над новой платформой уже в рамках компании Sun. И в мае 2007 года Sun Microsystems публично анонсировала новую платформу для создания графических приложений. А 4 декабря 2008 года вышел JavaFX 1.0 SDK.

После приобретения Sun Microsystems компанией Oracle в 2010 году была анонсирована, а в 2011 году вышла в релиз версия JavaFX 2.0. В первой версии JavaFX фактически представлял скиптовый язык. Во второй версии был полностью изменен подход. Скриптовый язык был убран, а платформа была полностью переписана фактически с нуля. Теперь создавать приложения можно было с помощью любого языка, который поддерживала JVM. Были добавлены новые API, интеграция со Swing и много других вещей.

Следующими важными вехами в развитии платформы стали версии JavaFX 8 и особенно JavaFX 9, которая вышла в сентябре 2017 года вместе с Java 9 и привнесла в платформу модульность. И если раньше JavaFX поставлялась вместе с Java SE, то сейчас JavaFX отделена от основной функциональности Java SE и используется как отдельный модуль. Последняя версия фреймворка - JavaFX 17 - вышла в сентябре 2021 года.

На данный момент JavaFX представляет предпочтительный способ для создания графических приложений с помощью языка Java, который пришел на смену AWT и Swing. Также стоит отметить, что для работы с JavaFX вместо Java теоретически можно использовать любой язык программирования, который поддерживается JVM.

Установка инструментария

Что необходимо для работы с JavaFX? Прежде всего необходимо установить последнюю версию JDK с официального сайта Oracle: https://www.oracle.com/java/technologies/downloads/.

Стоит учитывать, что версия JDK для работы с JavaFX должна быть от 11 и выше.

JavaFX SDK

Также необходимо загрузить последнюю версию JavaFX SDK с адреса https://gluonhq.com/products/javafx/.

JavaFX SDK

На данной странице можно выбрать дистрибутивы для различных систем и архитектур. Например, если 64-х разрядная OC Windows, то соответственно надо загрузить JavaFX Windows x64 SDK. По сути SDK представляет архив с файлами, и после его загрузки его необходимо распаковать в любое предпочтительное место на жестком диске. Например, в моем случае SDK распакован в папку C:\javafx-sdk-17.0.0.1.

Модули JavaFX

Если мы откроем папку lib в распакованном SDK, то мы увидим там модули, которые собственно и представляют JavaFX.

Модули JavaFX

При написании кода приложений, а также при их компиляции и запуске мы будем использовать эти модули. Что они делают:

  • javafx.base: определяет базовый функционал фреймворка, в частности, функциональность привязки, свойств, коллекций, событий и т.д.

  • javafx.controls: определяет элементы управления, диаграммы и скины.

  • javafx.fxml: определяет функционал для работы с FXML.

  • javafx.graphics: определяет функциональность окон и контейнеров компоновки, жизненного цикла приложения, возможности рисования, пользовательского ввода, анимации, css и т.д.

  • javafx.media: определяет функционал для работы с мультимедиа.

  • javafx.swing: определяет интерфейс для взаимодействия и внедрения элементов Swing в приложении JavaFX.

  • javafx.web: определяет функционал WebView.

  • javafx-swt: модуль для взаимодействия с SWT.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850