почему загрузчик fxml перестает работать без причины - PullRequest
0 голосов
/ 11 декабря 2018

Я написал следующий код, и он работал.После того, как я изменил файл fxml в папку ресурсов, он перестал работать.Я положил его обратно в исходное место, и он не будет работать.ЗАЧЕМ?У меня эта проблема месяцами.

package com.opensoftware.helptec.ui;

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

public class HomepageApplication extends Application {

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

    @Override
    public void start(Stage primaryStage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("src/main/resources/fxml/homepage.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root));
        primaryStage.show();
    }
}

Файл FXML:

<?xml version="1.0" encoding="UTF-8"?>


<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" prefHeight="400.0" prefWidth="600.0"
            xmlns="http://javafx.com/javafx/8.0.172-ea" fx:controller="com.opensoftware.helptec.ui.HomeUiController">
    <Button fx:id="button" layoutX="268.0" layoutY="300.0" mnemonicParsing="false" onAction="#onClick"
            text="Click Me!"/>
    <Label layoutX="274.0" layoutY="116.0" text="Welcome!"/>
    <Label layoutX="206.0" layoutY="183.0" text="Press the button below to continue!"/>
</AnchorPane>

РЕДАКТИРОВАТЬ: Что перестало работать: приложение не запускается, потому что fxmlloader выпускает NPE.

Iя пытался изменить путь к файлу fxml на несколько разных форматов:

"../resources/fxml/homepage.fxml"
"src/main/resources/fxml/homepage.fxml"
"../fxml/homepage.fxml"
"../homepage.fxml"

То, что я не получаю, это то, что с тем же кодом, что у меня сейчас, это работает.Затем я попытался переместить файл fxml в другой пакет, и он перестал работать.Я вернул его на прежнее место, и оно тоже не будет работать.

...