Хабрахабр

[Из песочницы] Учебник по JavaFX: начало работы

Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaFX Tutorial: Getting started» автора Vojtech Ruzicka.

Как настроить и начать работать с JavaFX, с помощью Maven, Gradle или JavaFX SDK.
Все посты в серии JavaFX:

  1. Учебник по JavaFX: начало работы
  2. Учебник по JavaFX: Привет, мир!
  3. Учебник по JavaFX: FXML и SceneBuilder
  4. Учебник по JavaFX: основные макеты
  5. Учебник по JavaFX: расширенные макеты
  6. Учебник по JavaFX: CSS стилизация

Установка Java

JavaFX, конечно, требует, чтобы у вас был установлен JDK. Получение необходимых зависимостей различается для разных версий Java.

Однако позже он был удален из JDK и
перенесен в отдельный модуль в Java 11. JavaFX был представлен как часть выпуска Java 8.

Ура! Это означает, что если вы ориентируетесь на Java 8-10, у вас есть все необходимые зависимости как часть вашего JDK уже. Если вы используете более новую версию Java — то есть 11+, вам нужно получить зависимости отдельно.

Maven

Получение и управление зависимостями вручную довольно неудобно, и в реальном приложении Вы бы редко так делали. Гораздо лучше использовать систему управления зависимостями, такую как Maven или Gradle. Таким образом, вы можете просто объявить, какие зависимости вы используете и какие версии, а система позаботится об остальном.

Архетип Maven

Конечно, вы можете настроить свой проект Maven вручную, с нуля. Тем не менее, вы можете предпочесть более удобный способ создания структуры и содержания базового проекта для вас с помощью Maven.

Существуют многочисленные архетипы для различных типов проектов, и к счастью, есть пара для JavaFX. Maven имеет понятие архетипов, которое по существу означает, что вы можете создавать различные типы проекты из шаблона. Архетип, который вы можете выбрать, зависит от того, какую версию Java вы используете.

Вы можете прочитать больше об архетипах Maven в следующем посте: Maven archetypes tutorial.

Архетип Java 8

Вы можете использовать com.zenjava:javafx-basic-archetype, или вы можете найти другие архетипы самостоятельно, если этот вам не подходит.

Вы можете легко сгенерировать проект из командной строки с помощью Maven, используя указанный выше архетип:

mvn archetype:generate -DarchetypeGroupId=com.zenjava -DarchetypeArtifactId=javafx-basic-archetype

Кроме того, вы можете создать новый проект Maven из архетипа прямо в вашей IDE.

Архетип Java 11

Для Java 11 вы можете использовать org.openjfx: javafx-archetype-simple.

Для создания проекта просто запустите:

mvn archetype:generate -DarchetypeGroupId=org.openjfx -DarchetypeArtifactId=javafx-archetype-simple

Ручная настройка Maven

Если вы хотите больше контроля, вы можете настроить свой проект Maven вручную, не генерируя его из архетипа.

Первый — Maven Plugin для Java FX. Для начала вам понадобятся два компонента.

Просто добавьте следующее в ваш pom.xml:

<build> <plugins> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.3</version> <configuration> <mainClass>com.example.App</mainClass> </configuration> </plugin> </plugins>
</build>

Обратите внимание, что

<mainclass>

должен указывать на ваш основной класс, который имеет метод main и расширяет javafx.application.Application. Мы расскажем об этом в следующей статье серии.

Вторая часть добавляет зависимость для элементов управления JavaFX:

<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>11.0.2</version>
</dependency>

Gradle

В настоящее время Gradle не поддерживает создание проектов непосредственно из архетипов .

Вы можете использовать неофициальный плагин Gradle Archetype и использовать архетипы Maven, упомянутые выше.
Кроме того, вы можете создать свой проект с помощью Maven из архетипа, а затем преобразовать его в проект Gradle с помощью следующей команды в каталоге, содержащем ваш pom.xml:

gradle init

Ручная настройка Gradle

Как и в случае ручной настройки Maven, вам нужно добавить плагин JavaFX:

plugins { id 'application' id 'org.openjfx.javafxplugin' version '0.0.8'
}

И зависимость для элементов управления:

javafx { version = "11.0.2" modules = [ 'javafx.controls' ]
}

JavaFX SDK

Есть еще одна возможность использовать JavaFX локально. Вы можете скачать JavaFX SDK. Он содержит все необходимые библиотеки, которые вы можете затем связать с проектом в вашей IDE или добавить в classpath.

Это может быть полезно, когда вы не знакомы с Gradle или Maven и просто для локальной разработки.

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

В IntelliJ IDEA вы можете просто перейти на: С помощью этой опции вы можете сгенерировать проект без Maven/Gradle в вашей IDE, который содержит все необходимые файлы.

File → New → Project → JavaFX

Дополнительное чтение

Hello World JavaFX application source code — Gradle
Hello World JavaFX application source code — Maven
JavaFX 13 and IntelliJ
JavaFX 13 and NetBeans
JavaFX 13 and Eclipse

Что дальше

Эта статья является первой в серии JavaFX. В следующей мы расскажем, как создать и запустить ваше самое первое приложение JavaFX.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть