Что такое JavaFX
JavaFX — библиотека для настольных приложений на Java: окон с кнопками, полями ввода, списками и таблицами. Она сама рисует интерфейс, поэтому одна и та же программа выглядит одинаково в Windows, macOS и Linux. Внешний вид настраивается обычным CSS, а разметку окна можно вынести в отдельный XML-файл — FXML.
Где используют JavaFX
- внутренние программы компаний: учёт, склад, рабочее место оператора;
- инструменты для инженеров и разработчиков: редакторы, просмотрщики данных, панели мониторинга;
- киоски и терминалы с сенсорным экраном;
- учебные проекты и простые игры.
Например, Scene Builder — визуальный редактор окон, о котором будет отдельный урок, — сам написан на JavaFX.
Версия в этом курсе
JavaFX развивается как открытый проект OpenJFX. С Java 11 он не входит в JDK и подключается как обычная зависимость Maven — org.openjfx:javafx-controls. Новые версии выходят раз в полгода, вслед за JDK.
| Что | Версия |
|---|---|
| Java (JDK) | 25 |
| JavaFX | 25.0.4 |
| Maven | 3.9 |
| Плагин сборки | javafx-maven-plugin 0.0.8 |
JavaFX 25 работает на JDK 23 и новее. Есть и более свежие выпуски JavaFX, но всё, что показано в курсе, работает в них так же.
Из чего состоит окно
| Понятие | Класс | Что это |
|---|---|---|
| Окно | Stage | Рамка окна с заголовком и кнопками «свернуть» и «закрыть» |
| Сцена | Scene | Всё содержимое окна |
| Узел | Node | Любой элемент: кнопка, надпись, контейнер |
| Контейнер | VBox, BorderPane и другие | Узел, который раскладывает другие узлы |
| Элемент управления | Button, TextField и другие | Узел, с которым работает пользователь |
Узлы вкладываются друг в друга и образуют дерево — граф сцены (scene graph). Корень дерева лежит в сцене, сцена — в окне.
Что будем строить
Через весь курс проходит одно приложение — записная книжка. В ней будет таблица заметок, форма для новой заметки с заголовком, текстом, категорией и флажком «Важная», окно редактирования, диалоги подтверждения и сохранение в файл JSON. Мы соберём из неё программу, которую можно запустить на компьютере без установленной Java, а в последней главе добавим анимацию, окно статистики с диаграммами и холст для рисования.
Что понадобится
Нужны JDK 25 и Maven. Проверьте их в терминале:
java -version
mvn -vОбе команды должны напечатать номер версии. Писать код удобно в IntelliJ IDEA: она открывает проекты Maven без дополнительной настройки.
Частая ошибка
JavaFX ищут внутри JDK и пишут import javafx.application.Application; в проекте без зависимости. Компилятор отвечает error: package javafx.application does not exist. Начиная с Java 11 библиотеку нужно подключать в pom.xml — как это сделать, показано в следующем уроке.