2016-03-08 77 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);}); 
相關問題