我有一个小游戏,里面有New Game按钮。有很多变量需要重置New Game按钮被按下。是否有任何方法可以轻松地重新加载整个应用程序或任何替代方案来刷新场景、阶段或变量?我只想在首次加载应用程序时将其带入初始阶段。
我在互联网上浏览了不同的主题,也在这里阅读了许多问题和答案,但我没有简单的方法来实现它。大多数答案建议重用整个代码或将整个代码放入类中并重新加载它。
审查的问题:
- 单击按钮时如何重新启动 JavaFX 应用程序? https://stackoverflow.com/questions/34788026/how-to-restart-a-javafx-application-when-a-button-is-clicked
- 如何使用 javafx 1.3 重新加载或刷新场景 https://stackoverflow.com/questions/16102545/how-can-you-reload-or-refresh-a-scene-with-javafx-1-3
我当然会推荐您链接的问题中讨论的一种干净的方法。
然而,一种快速而肮脏的方法可能如下:
restartButton.setOnAction( __ ->
{
System.out.println( "Restarting app!" );
primaryStage.close();
Platform.runLater( () -> new ReloadApp().start( new Stage() ) );
} );
关闭主舞台,创建一个新舞台并将其传递给应用程序的新实例。我无法对此黑客的内存行为做出任何保证。请小心使用。
完整示例:https://gist.github.com/bugabinga/ce9e0ae2328ba34133bd https://gist.github.com/bugabinga/ce9e0ae2328ba34133bd
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)