Как создать проект JavaFX Maven в IntelliJ IDEA?

Как я могу открыть проект JavaFX Maven с нуля в IntelliJ IDEA? Поскольку нет никакой разницы между проектом Java и проектом JavaFx, я хочу открыть выделенный JavaFX-проект (Selection JavaFX из мастера создания проектов) с включенным модулем Maven.

Ответ 1

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

Я рекомендую вам:

  1. Создайте проект JavaFX, как обычно.
  2. Убедитесь, что для вида проекта (раскрывающегося в окне инструментов на стороне структуры проекта) установлено значение "Проект" или "Пакеты" (в противном случае опция на 4-м шаге не будет отображаться)
  3. Затем, когда он открыт и готов, щелкните правой кнопкой мыши папку проекта
  4. .Перейдите к "Добавить поддержку фреймворка...".
  5. Установите флажок для Maven и нажмите "ОК".

Пусть IntelliJ сделает всю работу за вас.

Что касается редактирования файлов FXML, свяжите IDEA с SceneBuilder. Здесь - официальная документация. Но в основном:

  1. Установите Scene Builder.
  2. Файл → Настройки → Языки и настройки Фреймворки → JavaFX
  3. Укажите на исполняемый файл.

Использование: Щелкните правой кнопкой мыши файл FXML и выберите "Открыть в SceneBuilder" (внизу вниз)

Ответ 2

А ведь программа не компилируется. Вот это видео помогло мне: Настройка Maven для Java FX

в словах: нам нужно переместить sample.fxml в папку /resources. А в Main.java пишите:

FXMLLoader loader=new FXMLLoader(getClass().getResource("/sample.fxml"));

Ответ 3

Эти шаги помогли мне (это другой процесс): 1. Создайте проект Maven. 2. В созданный файл pom.xml добавьте следующее:

'<build>
        <plugins>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>8.7.0</version>
                <configuration>
                    <mainClass>your.package.with.mainclass</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>'

Это добавляет плагин maven для javafx (подробнее: https://github.com/javafx-maven-plugin/javafx-maven-plugin)

  1. Создайте в своей папке ресурсов свой sample.fxml
  2. Создайте свой класс контроллера для sample.fxml и ссылки
  3. Наслаждайтесь!

Ответ 4

Мне нужно пару часов, чтобы найти правильное решение. Большое спасибо этому видео и автору: https://www.youtube.com/watch?v=qn2tbftFjno

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

  1. Загрузите JavaFX SDK с сайта https://gluonhq.com/products/javafx/
  2. Распакуйте ZIP файл
  3. На начальной странице Intellij IDEA выберите Настройка/Структура для новых проектов
  4. Выберите Настройки платформы/Глобальные библиотеки
  5. Нажмите кнопку со знаком "плюс" ("+")/Java
  6. Найдите папку "lib" внутри извлеченного zip файла и выберите все файлы ".jar" (кроме "src.zip"), а затем нажмите кнопку ОК
  7. Установите новое имя для библиотеки, скажем, "javafx-what-version", затем Применить /OK
  8. Создайте проект JavaFX как обычно.
  9. Выберите Файл/Структура проекта...
  10. В Project Settings/Project не забудьте выбрать подходящий Project SDK и уровень языка Project
  11. В настройках платформы/глобальных библиотеках щелкните правой кнопкой мыши библиотеку "javafx-what-version" (которую вы уже добавили), выберите Добавить в модули... /OK
  12. Переключитесь на Настройки проекта/Модули, выберите Применить/ОК
  13. Вернитесь к менеджеру проекта, щелкните правой кнопкой мыши на "src"/New/module-info.java
  14. .Добавьте новые строки в тело модуля-info.java:
requires javafx.fxml; 
requires javafx.controls; 
opens sample;
  1. Запустите проект и наслаждайтесь!