3
我有一個javafx應用程序,讓我們的用戶添加儘可能多的按鈕他/她想要的。將用戶界面保存爲fxml:javafx
我從fxml
文件,其中包含默認用戶界面加載我主場景根。
隨着用戶更改界面,我使用@FXML
註釋更改場景。
此更改是臨時性的,用戶界面將與下次運行應用程序時的界面相同。所以這是我的問題:
如何在運行時將對應用程序的界面所做的更改保存到新的fxml
文件中?
我有一個javafx應用程序,讓我們的用戶添加儘可能多的按鈕他/她想要的。將用戶界面保存爲fxml:javafx
我從fxml
文件,其中包含默認用戶界面加載我主場景根。
隨着用戶更改界面,我使用@FXML
註釋更改場景。
此更改是臨時性的,用戶界面將與下次運行應用程序時的界面相同。所以這是我的問題:
如何在運行時將對應用程序的界面所做的更改保存到新的fxml
文件中?
FXML文件是一個xml文件,因此您可以使用任何XML Libary編寫。
但我會建議將按鈕保存在json或屬性文件中,並將它們添加回代碼。
因此,如果應用程序停止將按鈕保存到文件,並且如果應用程序再次啓動將它們添加到場景中,將它們保存到FXML文件中會更容易。
但是,如果你真的想與FXML做到這一點看看 https://bitbucket.org/gluon-oss/scenebuilder 也許你可以使用一些代碼從SceneBuilder到場景保存爲FXML。
有沒有內置的方式來做到這一點。當它關閉時,您需要保持應用程序的狀態(您感興趣的狀態)(您可以重寫Application.stop()以在應用程序關閉時執行代碼);然後在控制器的'initialize()'方法中讀取最後一個狀態並將其應用於正在啓動的應用程序。 –