javafx 在添加二级阶段时保留 root

javafx retain root while adding a secondary stage

我有一个不断增长的应用程序,它的菜单栏包含主页、章节、计算器、词汇表和帮助。一切正常,包括包含 14 个项目的章节。

还有源码包的计算器。它打开了,但我失去了舞台。我希望它可以打开并可以在屏幕上拖动。

这是我使用的代码:

else if(e.getSource()==mbarcalculator){
        stage = (Stage) root.getScene().getWindow();
        root = FXMLLoader.load(getClass().getResource("/javafxcalc/FXMLcalc.fxml"));

        Scene scene = new Scene(root);
        stage.setScene(scene);
        stage.show();
        }

我已经阅读了很多帖子,但没有找到一个简单的答案。

经过大量的耐心和毅力,我找到了一个可行的解决方案,并且我可以理解。

else if(e.getSource()==mbarcalculator){
阶段 secondaryStage = new Stage(); 父 root2 = FXMLLoader.load(getClass().getResource("/javafxcalc/FXMLcalc.fxml")); 场景 scene2 = new Scene(root2); secondaryStage.setScene(场景2); secondaryStage.show();
}

我从 Jose Pereda 的回答中摘取了一小段代码 Display two windows at the same time "on fullscreen" with JavaFx Scene Builder 2.0

我已经测试过了,效果很好。