我有超过50个视图的大型Swing应用程序(表单,对话框,菜单,弹出窗口等等)。我需要的是一种持久观察状态并使它们恢复生机的智能方式。用户希望保留许多表,分割器,复选框和其他可视元素。当然我可以手动执行此操作..但是在这样的规模上,这将是一个巨大的单调乏味的编码和错误。
问题: 是否有任何框架,库或产品没有太多麻烦?这个问题听起来很普遍,所以我宁愿找一些坚固而不是重新发明轮子的东西。
答案 0 :(得分:3)
首先,将您的数据(模型)与Swing组件(视图)分开
拥有完整的数据模型后,您可以分别使用XML生成器/ XML解析器来保存和恢复数据模型。您可以使用关系数据库来保存和恢复数据模型。无论什么对模型中的数据量最有意义。
我有一个Java Swing模型的示例和此answer中的视图。
编辑添加:Dima的一个断言是以一个具有20列5的JTable为例,其中用户在隐藏其他列时可见,并且还创建了一定宽度的列。
精细。 TableModel,列可见性布尔值以及列宽整数或双精度最好位于模型中的某个位置。
点击链接到我的其他答案,看看我的GUI状态数据是模型的一部分。