0

別のパッケージから .fxml にアクセスしようとすると問題が発生します。私のlogin.fxmlが顧客パッケージにあるとしましょう。ログインに成功すると、ホームページに移動します。ホームページで、カート パッケージに含まれる myShoppingCart.fxml へのボタン タット リンクを取得しました。ただし、これを行ったときに null ポインター例外エラーが発生しました。

public void goToCart(ActionEvent event) {
    String userName = CustomerLoginController.userLoggedIn.getName();
    try {
        FXMLLoader fxmlLoader = new FXMLLoader();
        Pane p = (Pane) fxmlLoader.load(getClass().getResource("cartCustHome.fxml").openStream());
        CartCustHomeUI fooController = (CartCustHomeUI) fxmlLoader.getController();
        fooController.retrieveUserName(userName);
        Stage stage = new Stage();
        Scene scene = new Scene(p);
        scene.getStylesheets().add(MainFrame.class.getResource("cart.css").toExternalForm());
        stage.setScene(scene);
        stage.show();
        ((Node) (event.getSource())).getScene().getWindow().hide();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

カート パッケージをインポートしたにもかかわらず、cartCustHome.fxml を取得できません。なぜそうなのか不思議です。前もって感謝します。

4

1 に答える 1

0

試す

getClass().getResource("../customer/cartCustHome.fxml").openStream()

詳細については、サイトで「java getresource returns null」を検索してください。このトピックについては多くの議論があり、包括的な説明が提供されています。

于 2013-07-31T08:59:18.377 に答える