Я пытаюсь запустить программу 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:
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<?scenebuilder-stylesheet mailStyles.css?>
<?import java.net.*?>
<BorderPane prefHeight="300.0" prefWidth="300.0" xmlns:fx="http://javafx.com/fxml/1"
xmlns="http://javafx.com/javafx/2.2"
fx:controller="com.kromalights.designer.entry.Controller">
<bottom>
<Pane prefHeight="200.0" prefWidth="200.0"/>
</bottom>
<center>
<Pane prefHeight="200.0" prefWidth="200.0"/>
</center>
<left>
<VBox prefHeight="200.0" prefWidth="100.0"/>
</left>
<top>
<HBox prefHeight="100.0" prefWidth="200.0"/>
</top>
<stylesheets>
<URL value="@mainStyles.css" />
</stylesheets>
</BorderPane>
Класс контроллера существует и находится в пакете, указанном в файле fxml. Все мои имена верны, и я думаю, что они должны быть. Что мне не хватает? Я попытался переименовать свой файл fxml на случай, если это проблема с именем. Пожалуйста помоги. FYI, я использую Intellij IDEA на OSX.
ОБНОВЛЕНИЕ: Это проблема Maven. Я настраиваю Maven для этого проекта, и это вызвало проблему. Я временно удалил Maven, чтобы продолжить работу без него. Кто-нибудь имеет представление о том, как лучше всего справиться с этим при использовании Maven?