首页 > 解决方案 > Java FXML - 尝试加载新场景时出现空指针异常

问题描述

我正在尝试为我的 FXML 中的按钮创建一个函数,它将在舞台上放置一个新场景。

我已经在我的代码中这样做了几次并且它已经成功运行,我复制了我的代码但它不起作用,所以我猜测问题可能与我的目录设置有关?

一些见解将被大量应用

这是我试图改变场景的代码:

@FXML Button viewFixtureAndResult;

    @FXML
    public void resultsAndFixturesScreen() throws IOException {
        Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("/viewers/fixturesAndResults.fxml"));
        Stage window = (Stage)viewFixtureAndResult.getScene().getWindow();
        window.setScene(new Scene(root,1000,600));
    }

这是我的文件设置:

在此处输入图像描述

还有我的错误:

Caused by: 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:498)
    at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
    at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771)
    ... 52 more
Caused by: java.lang.NullPointerException: Location is required.
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3207)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
    at adminView.AdminController.resultsAndFixturesScreen(AdminController.java:115)
    ... 62 more

标签: javafxml

解决方案


推荐阅读