2016-03-08 113 views
0

我有一个小游戏,其中有新游戏按钮。当按下按钮时,有许多变量需要重置。是否有任何方法可以轻松地重新加载整个应用程序或任何替代方法来刷新场景,舞台或变量?我只是想在第一次加载时将应用程序启动到初始阶段。如何在JavaFX中重新加载应用程序?

我在互联网上经历了不同的话题,并在这里阅读了很多问题和答案,但我没有简单的方法来实现它。大多数答案建议重用整个代码或将整个代码放入课堂并重新加载。

问题综述:

回答

3

我肯定会推荐一个干净的方法,因为在你链接的问题进行讨论。然而

一个快速和肮脏的方法可能是以下几点:

restartButton.setOnAction(__ -> 
{ 
    System.out.println("Restarting app!"); 
    primaryStage.close(); 
    Platform.runLater(() -> new ReloadApp().start(new Stage())); 
}); 

关闭主舞台,创建一个新的,并把它传递给你的应用程序的新实例。我无法保证这个黑客的内存行为。小心使用它。

完整的示例:https://gist.github.com/flasheater/ce9e0ae2328ba34133bd

0

为重装应用程序必须将主类的创建新实例,并调用 它与舞台的启动方法parameter.for例如

restartButton.setOnAction(e->{yourAPP app=new yourApp(); 
app.start(yourStage);}); 
相关问题