JavaFX

javafx логотип 2023

Что такое JavaFX?

JavaFX - это набор графических и мультимедийных пакетов, который позволяет разработчикам проектировать, создавать, тестировать, отлаживать и развертывать богатые клиентские приложения, которые стабильно работают на различных платформах.

Приложения JavaFX

Написанный как Java API, код приложений JavaFX может ссылаться на API из любой библиотеки Java. Например, приложения JavaFX могут использовать библиотеки Java API для доступа к возможностям родной системы и подключения к серверным приложениям промежуточного ПО.

Внешний вид и функциональность приложений JavaFX можно настраивать. Каскадные таблицы стилей (CSS) отделяют внешний вид и стиль от реализации, чтобы разработчики могли сосредоточиться на кодировании. Графические дизайнеры могут легко настроить внешний вид и стиль приложения с помощью CSS. Если у вас есть опыт веб-дизайна или если вы хотите разделить пользовательский интерфейс (UI) и внутреннюю логику, то вы можете разработать презентационные аспекты UI на языке сценариев FXML и использовать код Java для логики приложения. Если вы предпочитаете разрабатывать пользовательский интерфейс без написания кода, используйте JavaFX Scene Builder. При проектировании пользовательского интерфейса Scene Builder создает разметку FXML, которую можно перенести в интегрированную среду разработки (IDE), чтобы разработчики могли добавить бизнес-логику.

Доступность

JavaFX 2.2 и более поздние версии полностью интегрированы с Java SE 7 Runtime Environment (JRE) и Java Development Kit (JDK). Поскольку JDK доступен для всех основных настольных платформ (Windows, Mac OS X и Linux), приложения JavaFX, скомпилированные под JDK 7 и более поздние версии, также работают на всех основных настольных платформах. Кросс-платформенная совместимость позволяет разработчикам и пользователям JavaFX-приложений работать на всех платформах. Oracle обеспечивает синхронизацию выпусков и обновлений на всех платформах и предлагает обширную программу поддержки для компаний, использующих критически важные приложения.

На странице загрузки JDK вы можете получить zip-файл с примерами приложений JavaFX. Примеры приложений содержат множество примеров кода и фрагментов, которые на примере показывают, как писать приложения JavaFX. Дополнительную информацию см. в разделе "Как запустить пример приложения?".

Ключевые особенности

JavaFX 2.2 и более поздние версии имеют следующие возможности:

  • Java APIs. JavaFX - это библиотека Java, состоящая из классов и интерфейсов, которые написаны в родном коде Java. API разработаны как дружественная альтернатива языкам виртуальной машины Java (Java VM), таким как JRuby и Scala.

  • FXML и Scene Builder. FXML - это декларативный язык разметки на основе XML для построения пользовательского интерфейса приложения JavaFX. Дизайнер может написать код на FXML или использовать JavaFX Scene Builder для интерактивного проектирования графического интерфейса пользователя (GUI). Scene Builder генерирует разметку FXML, которая может быть перенесена в IDE, где разработчик может добавить бизнес-логику.

  • WebView. Веб-компонент, использующий технологию WebKitHTML для встраивания веб-страниц в приложение JavaFX. JavaScript, запущенный в WebView, может вызывать Java API, а Java API может вызывать JavaScript, запущенный в WebView.

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

  • Встроенные элементы управления пользовательского интерфейса и CSS. JavaFX предоставляет все основные элементы управления пользовательским интерфейсом, необходимые для разработки полнофункционального приложения. Компоненты могут быть обработаны с помощью стандартных веб-технологий, таких как CSS.

  • API Canvas. API Canvas позволяет рисовать непосредственно в области сцены JavaFX, состоящей из одного графического элемента (узла).

  • Поддержка мультитач. JavaFX обеспечивает поддержку операций мультитач, основываясь на возможностях базовой платформы.

  • Графический конвейер с аппаратным ускорением. Графика JavaFX основана на конвейере рендеринга графики (Prism). JavaFX предлагает плавную графику, которая быстро отрисовывается через Prism, когда он используется с поддерживаемой видеокартой или графическим процессором (GPU). Если система не оснащена одним из рекомендуемых графических процессоров, поддерживаемых JavaFX, то Prism по умолчанию использует программный стек Java 2D.

  • Высокопроизводительный медиаконвейер. Медиаконвейер поддерживает воспроизведение мультимедийного веб-контента. Он обеспечивает стабильную работу мультимедийного механизма с низкой задержкой, который основан на мультимедийном механизме GStreamer.

  • Модель развертывания самодостаточных приложений. Пакеты самодостаточных приложений содержат все ресурсы приложения и частную копию исполняемых сред Java и JavaFX. Они распространяются как собственные устанавливаемые пакеты и обеспечивают такую же установку и запуск, как и собственные приложения для данной операционной системы.

Что можно создавать с помощью JavaFX?

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

Источники