IntelliJ IDEA中的Maven和JavaFX项目

Sca*_*ass 2 javafx intellij-idea maven

我在试图在IntelliJ中配置Maven和JavaFX项目时遇到了麻烦.

首先我不知道该怎么做,所以我找到了以下解决方案:

  1. 像在Intellij中一样创建常规JavaFX项目
  2. 单击以下内容添加Maven支持:右键单击项目 - >"添加框架支持",然后选中Maven

在第一步应用程序工作之后(当然,因为它只是普通的JavaFX项目),然后在第二步包之后发生了变化,所以我不得不为每个类设置包; 我已经做到了,我没有看到任何错误.但当我尝试运行该应用程序时,我得到以下错误,在图片上:

我还将sample.fxml移动到资源文件夹.

也许我需要将groupId设置为某些东西,但我不知道是什么,我已经尝试将其设置为包的名称(示例),但它不起作用. 在此输入图像描述

其余代码:

Main.java:

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {

        Parent root = FXMLLoader.load(getClass().getResource("../../resources/sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();

    }


    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

sample.fxml:

<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<GridPane fx:controller="sample.Controller"
          xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
</GridPane>
Run Code Online (Sandbox Code Playgroud)

Controller.java

package sample;

public class Controller {
}
Run Code Online (Sandbox Code Playgroud)

小智 5

这种方式对我来说更容易.

  1. resources被调用下创建文件夹samples(相同src/main/java)
  2. 换行: Parent root = FXMLLoader.load(getClass().getResource("../../resources/sample.fxml"));for
    Parent root = FXMLLoader.load(getClass().getResource("/sample.fxml"));