constructLoadException в загрузчике fxml - PullRequest
0 голосов
/ 14 октября 2018

У меня есть проект, который отлично работает, когда я компилирую его через мою IDE (IntelliJ).Я создал файл .jar и использую launch4j, чтобы преобразовать его в исполняемый файл.Проблема в том, что у меня постоянно возникают проблемы с загрузчиком fxml.Я прилагаю скриншот структуры моего проекта и кода, где мой компилятор не работает.enter image description here

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

@Override
public void start(Stage primaryStage) throws Exception
{
    netOps = new NetworkOps();
    primaryStage.setTitle("Los Santos Police Department");
    Parent root = FXMLLoader.load(getClass().getResource("LoginScreen/LoginScreen.fxml"));
    primaryStage.setScene(new Scene(root,600,400));
    Scene scene = primaryStage.getScene();
    Button submit = (Button) scene.lookup("#submit");
    TextField badge = (TextField) scene.lookup("#badge");
    TextField pass = (TextField) scene.lookup("#pass");
    submit.setOnAction(e ->
    {
        netOps.login(badge.getText(), pass.getText());
        personalScreen();
        primaryStage.close();
    });
    primaryStage.show();

}

public void personalScreen()
{
    screenOps screenOps = new screenOps();
    final String[] ret = new String[1];
    Stage window = new Stage();
    window.setTitle("Personal screen");
    Parent root = null;
    try {
        root = FXMLLoader.load(getClass().getResource("/PersonalScreens/PersonalScreen.fxml"));
    } catch (IOException e) {
        e.printStackTrace();
    }
    Scene scene = new Scene(root,800,800);
    window.setScene(scene);

    Button intro = (Button) scene.lookup("#Intro");
    Button subjects = (Button) scene.lookup("#Subjects");
    Button subs = (Button) scene.lookup("#Submissions");
    Pane content = (Pane) scene.lookup("#contentPane");

    intro.setOnAction(e ->
    {
        screenOps.introScreen(content);
    });
    subjects.setOnAction(e ->
    {
        screenOps.subjectsScreen(content,netOps);
    });
    subs.setOnAction(e ->
    {
        screenOps.submissionsScreen(content);
    });
    window.show();

}

}

У меня есть успешная операция fxmloader в этой строке: Родительский корень = FXMLLoader.load (getClass (). getResource ("LoginScreen / LoginScreen.fxml"));

, но затем в personalScreen в блоке try происходит сбой.Постоянно.

...