menuItem が選択されているときに、現在のシーンを閉じて別のシーンを開こうとすると問題が発生します。私のメインステージは次のようにコーディングされています:
public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("Shop Management");
    FXMLLoader myLoader = new FXMLLoader(getClass().getResource("cartHomePage.fxml"));
    Pane myPane = (Pane) myLoader.load();
    CartHomePageUI controller = (CartHomePageUI) myLoader.getController();
    controller.setPrevStage(primaryStage);
    Scene myScene = new Scene(myPane);
    primaryStage.setScene(myScene);
    primaryStage.show();
}
プログラムが実行されると、cartHomePage.fxml に移動します。そこから、メニュー項目が選択されたときに、製品の作成またはカテゴリの作成を選択できます。これが私のアクションイベントです:
Stage prevStage;
public void setPrevStage(Stage stage){
     this.prevStage = stage;
}
 public void gotoCreateCategory(ActionEvent event) throws IOException {
  Stage stage = new Stage();
    stage.setTitle("Shop Management");
    FXMLLoader myLoader = new FXMLLoader(getClass().getResource("createCategory.fxml"));
    Pane myPane = (Pane) myLoader.load();            
    Scene scene = new Scene(myPane);
    stage.setScene(scene);
    prevStage.close();
    setPrevStage(stage);
    stage.show();       
}
//Method to change scene when menu item create product is on click
@FXML
public void gotoCreateProduct(ActionEvent event) throws IOException {
   Stage stage = new Stage();
    stage.setTitle("Shop Management");
    FXMLLoader myLoader = new FXMLLoader(getClass().getResource("creatProduct.fxml"));
    Pane myPane = (Pane) myLoader.load();            
    Scene scene = new Scene(myPane);
    stage.setScene(scene);
    prevStage.close();
    setPrevStage(stage);
    stage.show();      
}
ただし、ステージの切り替えは一度しかできません。たとえば、デフォルトのページは cartHomePage.fxml です。プログラムを実行すると、まずプロダクト ステージを作成します。その後、私はもうどこにも行けません。エラーメッセージは次のとおりです。
java.lang.IllegalStateException: Location is not set.
and Null Pointer Exception
ステージを閉じて回した後、ステージを設定しました。どの部分が間違っていたのだろうか。
前もって感謝します。