首页 > 解决方案 > 从不同的包中定位 fxml 文件

问题描述

在尝试从位于不同包中的控制器打开 fxml 文件时,我遇到了“去皮”类型的困难。包结构如下:

控制器名称 =LocationController 控制器包 =src/com/yas/prayertimeconfig/location/java

FXML 文件名 = AvailableAddresses.fxml FXML 文件包 =src/com/yas/prayertimeconfig/availableaddresses/java

我用来从 in 打开 fxml 文件的代码LocationController如下:

@FXML void btnFindAddress_Click(ActionEvent event) throws IOException {

        try{            
            Parent root1 = FXMLLoader.load(getClass().getResource("/src/com/yas/prayertimeconfig/availableaddresses/java/AvailableAddresses.fxml"));
            Stage stage = new Stage();
            stage.setTitle("Available Addresses");
            stage.setScene(new Scene(root1));
            stage.show();
        } catch (Exception e) {
            System.out.println(e);
        }


    }

我不断得到:

java.lang.NullPointerException: Location is required.

我已经尝试过每一次使用:

getClass().getResource()

getClass().getClassLoader().getResource()

没有喜悦。

请帮忙!

标签: javafxfxmlfxmlloader

解决方案


推荐阅读