如何在 IntelliJ IDEA 中创建 JavaFX Maven 项目?

How to create a JavaFX Maven project in IntelliJ IDEA?

如何在 IntelliJ IDEA 中从头开始打开 ​​JavaFX Maven 项目?由于 Java 项目和 JavaFx 项目没有区别,我想打开一个专用的 JavaFX 项目(从创建项目向导中选择 JavaFX)包括 Maven 模块。

虽然过时了,但我回答这个问题是因为我最近遇到了同样的问题,而且太多人告诉我编写自己的 pom 文件等。虽然这在技术上是正确的,但如果你不小心,它会造成更多麻烦.

我推荐你:

  1. 像往常一样创建 JavaFX 项目。
  2. 确保项目视图(项目结构端工具 window 中的下拉菜单)设置为“Project”或“Packages'(否则第 4 步中的选项将不可见)
  3. 然后在打开并准备就绪后右键单击项目文件夹
  4. 前往 "Add Framework Support..."。
  5. 选中 Maven 复选框并单击 "OK"。

此时让 IntelliJ 为您完成工作。

至于编辑FXML文件linkIDEA到SceneBuilder。 Here 是官方文档。但基本上:

  1. 安装Scene Builder.
  2. 文件 -> 设置 -> 语言和框架 -> JavaFX
  3. 指向 exe 文件。

要使用:右键单击 FXML 文件并 select "Open In SceneBuilder"(在底部向下)

这个步骤对我有用(是一个不同的过程): 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>`

这为 javafx 添加了一个 maven 插件(更多信息:https://github.com/javafx-maven-plugin/javafx-maven-plugin

  1. 在您的资源文件夹中创建您的 sample.fxml
  2. 为 sample.fxml 和 link
  3. 创建控制器 class
  4. 尽情享受吧!

毕竟,程序是无法编译的。所以这个视频帮助了我:Configuring Maven For Java FX

言外之意: 我们需要将 sample.fxml 移动到 /resources 文件夹。在 Main.java 中写:

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

我花了几个小时才找到正确的解决方案。 非常感谢这个视频和作者: https://www.youtube.com/watch?v=qn2tbftFjno

所以,按照上面的视频,我想推荐一下:

  1. https://gluonhq.com/products/javafx/
  2. 下载JavaFX SDK
  3. 解压缩 zip 文件
  4. 来自 Intellij IDEA 的起始页,select Configure/Structure 用于新项目
  5. Select 平台 Settings/Global 库
  6. Select 加号 ("+") button/Java
  7. 在解压缩的 zip 文件中找到 "lib" 文件夹和 select 所有“.jar”文件("src.zip" 除外),然后确定
  8. 为库设置一个新名称,比方说"javafx-whatever-version",然后 Apply/OK
  9. 照常创建 JavaFX 项目。
  10. Select File/Project 结构...
  11. 来自 Project Settings/Project,记得 select 合适的 Project SDK 和 Project 语言级别
  12. 从平台 Settings/Global 库中,右键单击库 "javafx-whatever-version"(您已经添加), 选择添加到模块.../OK
  13. 切换到项目 Settings/Modules,选择 Apply/OK
  14. 返回您的项目经理,右键单击 "src"/New/module-info。java
  15. 向模块正文添加新行-info.java:
requires javafx.fxml; 
requires javafx.controls; 
opens sample;
  1. 运行 项目和享受!

对于任何来这里的人。我认为最好的答案在于 openjfx docs。它包含一个单独的 JavaFX 和 InteliJ 部分,select 非模块化与 Maven 部分。

我将简要描述步骤。

  1. 创建新的 Maven 项目。
  2. Select 从 archtype 创建。
  3. 添加新的架构类型(groupid:org.openjfx,artifactId:javafx-maven-archetypes,版本 0.0.1)
  4. Select 创建的 archtype 和 Next.
  5. 提供组 ID org.openjfx ArtifactId hellojavafx 和 Next.
  6. 将 属性 archtypeArtifactId 值更改为 javafx-archetype-fxml
  7. 为 javafx 版本添加新的 属性:属性 javafx-version 和值:14.
  8. 最后给项目起个名字,比如HelloJavaFX
  9. 现在点击完成并等待 inteliJ 构建项目。

一旦 InteliJ 完成它的工作,pom 应该看起来像这样 sample

PS : 如果您按照这种方法使事情顺利进行,则需要遵循另外两个提示。 JavaFX 14 需要 java 11 或更新版本。 将 javax maven 插件版本更改为 0.0.1 到 0.0.4,以避免出现 invalid flag --module-path 之类的错误。 也为了更好地工作下载并安装

如果您已经安装了 Maven,下面是创建 javafx 项目的确切用户指南:

  1. 打开intellij

  2. 在包含其他 Maven 项目的文件夹中创建 javafx 项目。

  3. 在 intellij 中单击文件夹(顶部的项目)并选择 运行 maven 和包。

  4. 然后,如果您需要 javafx 的插件,请再次单击项目文件夹、运行 maven、插件,然后您可以选择。我需要:javafx: jlink.