JavaFX FXML приложение не запустится

У меня есть проблемы с созданием и запуском приложения JavaFX FXML в Netbeans. Im под управлением Netbeans 8.1. Ниже приведен код и ошибки. Я думаю, что — то не так с тем, как netbeans пишут путь:

Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));

Но я не могу понять, каким образом …

Главная

public class JavaFXApplication6 extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));

        Scene scene = new Scene(root);

        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Контроллер

public class FXMLDocumentController implements Initializable {

    @FXML
    private Label label;

    @FXML
    private void handleButtonAction(ActionEvent event) {
        System.out.println("You clicked me!");
        label.setText("Hello World!");
    }

    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
    }    

}

FXML

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320"  fx_controller="javafxapplication6.FXMLDocumentController">
    <children>
        <Button layoutX="126" layoutY="90" text="Click Me!" onAction="#handleButtonAction" fx_id="button" />
        <Label layoutX="126" layoutY="120" minHeight="16" minWidth="69" fx_id="label" />
    </children>
</AnchorPane>

ErrorMessage

ant -f /Users/MyAccount/NetBeansProjects/ExempelJavaFX1 -Djavac.includes=JavaFXTheNewBoston/Ex031fxml.java -Dnb.internal.action.name=run.single -Drun.class=JavaFXTheNewBoston.Ex031fxml run-single
init:
Deleting: /Users/MyAccount/NetBeansProjects/ExempelJavaFX1/build/built-jar.properties
deps-jar:
Updating property file: /Users/MyAccount/NetBeansProjects/ExempelJavaFX1/build/built-jar.properties
Compiling 1 source file to /Users/MyAccount/NetBeansProjects/ExempelJavaFX1/build/classes
compile-single:
run-single:
Exception in Application start method
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363)
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication7(LauncherImpl.java:157)
    at com.sun.javafx.application.LauncherImpl$$Lambda/589873731.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException: Location is required.
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3201)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3169)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3142)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3118)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3098)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3091)
    at JavaFXTheNewBoston.Ex031fxml.start(Ex031fxml.java:22)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication13(LauncherImpl.java:821)
    at com.sun.javafx.application.LauncherImpl$$Lambda/1759200495.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait6(PlatformImpl.java:323)
    at com.sun.javafx.application.PlatformImpl$$Lambda/340870931.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$null4(PlatformImpl.java:292)
    at com.sun.javafx.application.PlatformImpl$$Lambda/861248623.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater5(PlatformImpl.java:291)
    at com.sun.javafx.application.PlatformImpl$$Lambda/1530388690.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
Exception running application JavaFXTheNewBoston.Ex031fxml
/Users/MyAccount/NetBeansProjects/ExempelJavaFX1/nbproject/build-impl.xml:1051: The following error occurred while executing this line:
/Users/MyAccount/NetBeansProjects/ExempelJavaFX1/nbproject/build-impl.xml:805: Java returned: 1
BUILD FAILED (total time: 2 seconds)

Вот мой макет папки:

Введите описание изображения здесь

ОБНОВЛЕНИЕ
Также получил эту более короткую ошибку:

ant -f /Users/MyAccount/NetBeansProjects/JavaFXApplication7 -Djavac.includes=javafxapplication7/JavaFXApplication7.java -Dnb.internal.action.name=run.single -Drun.class=javafxapplication7.JavaFXApplication7 run-single
init:
deps-jar:
Created dir: /Users/MyAccount/NetBeansProjects/JavaFXApplication7/build
Updating property file: /Users/MyAccount/NetBeansProjects/JavaFXApplication7/build/built-jar.properties
Created dir: /Users/MyAccount/NetBeansProjects/JavaFXApplication7/build/classes
Created dir: /Users/MyAccount/NetBeansProjects/JavaFXApplication7/build/empty
Created dir: /Users/MyAccount/NetBeansProjects/JavaFXApplication7/build/generated-sources/ap-source-output
Compiling 1 source file to /Users/MyAccount/NetBeansProjects/JavaFXApplication7/build/classes
compile-single:
run-single:
Exception in Application start method
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMet/Users/MyAccount/NetBeansProjects/JavaFXApplication7/nbproject/build-impl.xml:1051: The following error occurred while executing this line:
/Users/MyAccount/NetBeansProjects/JavaFXApplication7/nbproject/build-impl.xml:805: Java returned: 1
BUILD FAILED (total time: 15 seconds)

UPDATE-вот мой билд.XML

<?xml version="1.0" encoding="UTF-8"?><!-- You may freely edit this file. See commented blocks below for --><!-- some examples of how to customize the build. --><!-- (If you delete it and reopen the project it will be recreated.) --><!-- By default, only the Clean and Build commands use this build script. --><project name="JavaFXApplication1" default="default" basedir="." >
    <description>Builds, tests, and runs the project JavaFXApplication1.</description>
    <import file="nbproject/build-impl.xml"/>
    <!--

    There exist several targets which are by default empty and which can be 
    used for execution of your tasks. These targets are usually executed 
    before and after some main targets. Those of them relevant for JavaFX project are: 

      -pre-init:                 called before initialization of project properties
      -post-init:                called after initialization of project properties
      -pre-compile:              called before javac compilation
      -post-compile:             called after javac compilation
      -pre-compile-test:         called before javac compilation of JUnit tests
      -post-compile-test:        called after javac compilation of JUnit tests
      -pre-jfx-jar:              called before FX SDK specific <fx:jar> task
      -post-jfx-jar:             called after FX SDK specific <fx:jar> task
      -pre-jfx-deploy:           called before FX SDK specific <fx:deploy> task
      -post-jfx-deploy:          called after FX SDK specific <fx:deploy> task
      -pre-jfx-native:           called just after -pre-jfx-deploy if <fx:deploy> runs in native packaging mode
      -post-jfx-native:          called just after -post-jfx-deploy if <fx:deploy> runs in native packaging mode
      -post-clean:               called after cleaning build products

    (Targets beginning with '-' are not intended to be called on their own.)

    Example of inserting a HTML postprocessor after javaFX SDK deployment:

        <target name="-post-jfx-deploy">
            <basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
            <property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
            <custompostprocess>
                <fileset dir="${jfx.deployment.html}"/>
            </custompostprocess>
        </target>

    Example of calling an Ant task from JavaFX SDK. Note that access to JavaFX SDK Ant tasks must be
    initialized; to ensure this is done add the dependence on -check-jfx-sdk-version target:

        <target name="-post-jfx-jar" depends="-check-jfx-sdk-version">
            <echo message="Calling jar task from JavaFX SDK"/>
            <fx:jar ...>
                ...
            </fx:jar>
        </target>

    For more details about JavaFX SDK Ant tasks go to
    http://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm

    For list of available properties check the files
    nbproject/build-impl.xml and nbproject/jfx-impl.xml.

    -->
</project>

1 ответ