3

我有超过 50 个视图(表单、对话框、菜单、弹出窗口等)的大型 Swing 应用程序。我需要的是一些智能的方式来保持视图状态并使它们恢复活力。用户希望保留许多表格、拆分器、复选框和其他视觉元素。当然,我可以手动执行此操作.. 但是在这样的规模上,这将是一个非常乏味的编码和到处都是错误。

问题:是否有任何框架、库或产品可以轻松做到这一点?这个问题听起来很普遍,所以我宁愿找到可靠的东西,而不是重新发明轮子。

4

1 回答 1

3

首先,将数据(模型)与 Swing 组件(视图)分开

拥有完整的数据模型后,您可以使用 XML 生成器/XML 解析器分别保存和恢复您的数据模型。您可以使用关系数据库来保存和恢复您的数据模型。对模型中的数据量最有意义的方法。

我在这个答案中有一个 Java Swing 模型和一个视图的示例。

编辑添加:Dima 的断言之一是以具有 20 列 5 的 JTable 为例,用户在隐藏其他列的同时使列可见,同时也使列具有一定宽度。

美好的。TableModel、列可见性布尔值和列宽整数或双精度数最好位于模型中的某个位置。

按照我的其他答案的链接,查看我的 GUI 状态数据是模型的一部分。

于 2012-11-29T19:24:20.200 回答