Как заставить JavaFX и Java 11 работать в IntelliJ IDEA - PullRequest
0 голосов
/ 06 октября 2018

С недавним выпуском Java 11 JavaFX больше не включен в JDK.У меня есть существующий проект JavaFX.Мне интересно узнать, как изменить его с проекта Java 10 на Java 11. Я уверен, что я правильно установил Java 11, и я могу изменить SDK по умолчанию с Java 10 на Java 11. Что я не делаюЯ знаю, как заставить JavaFX работать с Java 11.

Я скачал последнюю версию JavaFX здесь .Я распаковал его в свою папку Java, которая содержит мои другие JDK, но я действительно не знаю, что делать в этот момент.Я прочитал несколько длинных руководств, которые описывают, как подключить проект с помощью Maven или Gradle, но я никогда не использовал их.Есть ли способ добавить поддержку JavaFX в меню IntelliJ?

Ответы [ 2 ]

0 голосов
/ 01 июня 2019

Вы можете загрузить версию java, включающую JavaFX, с https://www.azul.com/downloads/zulu/zulufx/.. В этом случае не требуется специальной настройки для запуска приложений JavaFx на Java 11. JavaFX будет работать так же, как на Java 8.

0 голосов
/ 20 ноября 2018

Загрузите соответствующий JavaFX SDK для вашей операционной системы и разархивируйте его в нужное место, например /Users/your-user/Downloads/javafx-sdk-11.

  1. Создайте проект JavaFX

enter image description here

Создание проекта JavaFX Укажите имя проекта, например HelloFX, и местоположение.Когда проект открывается, классы JavaFX не распознаются.enter image description here

Установите JDK 11

Перейдите в Файл -> Структура проекта -> Проект и установите SDK проекта на 11. Вы также можете установить уровень языка на 11. Установите JDK 11 enter image description here

Создать библиотеку

Перейдите в Файл -> Структура проекта -> Библиотеки и добавьте JavaFX 11 SDK в качестве библиотеки в проект.Укажите папку lib в JavaFX SDK.enter image description here

После применения библиотеки классы JavaFX будут распознаваться в среде IDE.enter image description here

Предупреждение: если вы сейчас запустите проект, он скомпилируется, но вы получите эту ошибку:

Ошибка: отсутствуют компоненты времени выполнения JavaFX,и должны запускать это приложение

Эта ошибка отображается, поскольку средство запуска Java 11 проверяет, расширяет ли основной класс javafx.application.Application.В этом случае требуется наличие модуля javafx.graphics в модуле path.

Добавить параметры виртуальной машины

Чтобы решить эту проблему, нажмите «Выполнить» -> «Редактировать конфигурации» ... и добавьте следующие параметры виртуальной машины:

- путь к модулю% PATH_TO_FX% --add-modules = javafx.controls, javafx.fxml

Обратите внимание, что проект по умолчанию, созданный IntelliJ, использует FXML, поэтому javafx.fxml требуется вместе с javafx.controls.Если в вашем проекте используются другие модули, вам также необходимо добавить их.enter image description here Нажмите «Применить» и закройте диалоговое окно.

Запустите проект

Нажмите Run -> Run ..., чтобы запустить проект, теперь он должен работать нормально.

...