JavaFX в IntelliJ IDEA

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

Создадим простейший проект для JavaFX в среде разработки IntelliJ IDEA. Данная среда предлагает нам несколько вариантов: мы можем выбрать шаблон проекта для обычных Java-приложений и затем добавить в него все необходимые библиотеки, либо мы можем выбрать встроенный шаблон JavaFX и также подключить к нему все необходимые библиотеки. Выберем первый способ. При создании нового проекта выберем шаблон Java:

Первый проект JavaFX в IntelliJ IDEA

Далее в качестве шаблона проекта выберем Command Line App:

Затем дадим проекту какое-либо имя, например, HelloJavaFX:

Создание проекта JavaFX в IntelliJ IDEA

По умолчанию сгенерированный проект содержит файл Main.java. Изменим его код:

package com.metanit;

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.Group;
import javafx.scene.text.Text;

public class Main extends Application{

    public static void main(String[] args) {

        launch(args);
    }

    @Override
    public void start(Stage stage) {

        // установка надписи
        Text text = new Text("Hello METANIT.COM!");
        text.setLayoutY(80);    // установка положения надписи по оси Y
        text.setLayoutX(80);   // установка положения надписи по оси X

        Group group = new Group(text);

        Scene scene = new Scene(group);
        stage.setScene(scene);
        stage.setTitle("JavaFX Application");
        stage.setWidth(300);
        stage.setHeight(250);
        stage.show();
    }
}

Это простейшее JavaFX-приложение, которое отображает небольшое окно. Но при добавлении кода мы можем увидеть, что среда не распознает используемые пакеты:

Подключение JavaFX в IntelliJ IDEA

Чтобы все работало, нам надо подключить библиотеки JavaFX. Для этого перейдем в меню File->Project Structure:

В открывшемся окне перейдем к пункту Libraries:

В этой вкладке нажмем на знак + и в появившемся небольшом окошке выберем Java.

Далее в открывшемся диалоговом окне выберем путь к каталоге lib в папке, где распакован JavaFX SDK. И нажмем на OK для подключения библиотек.

Добавление в IntelliJ IDEA пути к библиотекам JavaFX SDK

И далее нажмем на кнопку Apply для применения изменений и затем на кнопку OK.

Добавление в IntelliJ IDEA библиотек JavaFX SDK

Далее перейдем в меню Run -> Edit Configuration

И в открывшемся окне перейдем к полю VM options. Если это поле отстутствует, то нажмем на опцию Modify options и в контекстном меню выберем Add VM options

Add VM options in IntelliJ IDEA

После этого будет добавлено поле VM options. И далее в этом поле пропишем следующий параметр:

--module-path "путь к JavFX SDK\lib" --add-modules javafx.controls,javafx.fxml

Например, в моем случае JavaFX SDK распакован в папку C:\javafx-sdk-17.0.0.1, поэтому я указываю

--module-path "C:\javafx-sdk-17.0.0.1\lib" --add-modules javafx.controls,javafx.fxml

И в конце нажмем на кнопки Apply и OK.

После этого мы сможем наслаждать разработкой на JavaFX в IntelliJ IDEA.

При создании нового проекта мы могли бы выбрать шаблон JavaFX:

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

Глобальные настройки

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

Для этого перейдем к пункту меню File -> Settings и затем в открывшемся окне перейдем к пункту Appearance & Behavior -> Path Variables

Глобальные настройки для JavFX в IntelliJ IDEA

Нажмем на добавление новой переменной и в окне введем в качестве названия переменной PATH_TO_FX, а в качестве ее значения - путь к каталогу lib в папке JavaFX SDK.

Однако в этом случае в меню Run -> Edit Configuration для поля VM options также необходимо задать параметр:

--module-path ${PATH_TO_FX} --add-modules javafx.controls,javafx.fxml
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850