我试图让我的JavaFX程序运行,但有一些困难。我不断收到错误’java.lang.NullPointerException:位置是必需的。 fxml文件与Application类在同一个包中。这是我非常简单的代码:
package com.kromalights.designer.entry;
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("main.fxml"));
primaryStage.setTitle("Kromalights Designer");
primaryStage.setScene(new Scene(root, 300, 275));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
这里是我的main.fxml文件的副本:
xmlns="http://javafx.com/javafx/2.2"
fx:controller="com.kromalights.designer.entry.Controller">
控制器类确实存在并且位于fxml文件中指定的包中。我所有的名字都是正确的,我认为他们应该是。我失踪了什么我确实尝试重命名我的fxml文件,以防它是一个名称问题。请帮忙。我在OSX上使用Intellij IDEA。
更新:这是一个Maven问题。我为此项目设置了Maven,导致了这个问题。我临时删除了Maven,所以我可以继续工作,没有它。有没有人有任何洞察力,我最好如何处理这个使用Maven?