我目前正在开发一个javafx应用程序。基本上它是一个简单的数据库应用程序,使用户能够添加,查看,删除和编辑东西。现在我遇到了以XML数据库形式存储数据的问题。
现在。我有一个主类,它包含一个显示rootLayout(menuBar)的函数 和选项卡窗格。我的选项卡窗格包含3个选项卡。 (书,CD和文具)。
我上了主课, TabPaneController类,包括BOOK,CD和STATIONERY布局, 每个类别(BOOK,CD和STATIONERY)的控制器。
到目前为止。我不知道在哪里放保存和加载方法。
我正在使用XStream。
答案 0 :(得分:0)
假设我正确地关注这个问题,听起来你不确定在哪里实际调用保存和加载函数?
FX 非常与swing不同,它在依赖注入方面为用户做了很多幕后工作。您可能已经注意到没有调用控制器的构造函数(除非显而易见的无参数构造函数)。
从设计角度来看,您应该在构造函数中启动此调用。保存可以附加到按钮并在后台线程中执行此功能(例如)。
在初始化构造函数时应该加载。
public void initialize(URL url, ResourceBundle rb) {
SomeDataType data = someController.loadData();
yourView.setData(data);
}
现在,根据组件,它将具有您应该遵守的某种类型的可观察模型。您还应该记住,如果您不在此处理异常,您的控制器将无法正确初始化。
如果这没有帮助,您是否可以发布一些代码以清晰明了?如果你遇到一个堆栈跟踪,可能甚至是堆栈跟踪?