2015-01-10 32 views
3

我有一個javafx應用程序,讓我們的用戶添加儘可能多的按鈕他/她想要的。將用戶界面保存爲fxml:javafx

我從fxml文件,其中包含默認用戶界面加載我主場景根

隨着用戶更改界面,我使用@FXML註釋更改場景。

此更改是臨時性的,用戶界面將與下次運行應用程序時的界面相同。所以這是我的問題:

如何在運行時將對應用程序的界面所做的更改保存到新的fxml文件中?

+1

有沒有內置的方式來做到這一點。當它關閉時,您需要保持應用程序的狀態(您感興趣的狀態)(您可以重寫Application.stop()以在應用程序關閉時執行代碼);然後在控制器的'initialize()'方法中讀取最後一個狀態並將其應用於正在啓動的應用程序。 –

回答

2

FXML文件是一個xml文件,因此您可以使用任何XML Libary編寫。

但我會建議將按鈕保存在json或屬性文件中,並將它們添加回代碼。

因此,如果應用程序停止將按鈕保存到文件,並且如果應用程序再次啓動將它們添加到場景中,將它們保存到FXML文件中會更容易。

但是,如果你真的想與FXML做到這一點看看 https://bitbucket.org/gluon-oss/scenebuilder 也許你可以使用一些代碼從SceneBuilder到場景保存爲FXML。