我需要开发一个带有交互式表格的 GUI,用户必须能够手动插入行或从 Excel 文件导入/保存信息。假设我在文件中有一堆个人信息(年龄、姓名、地址)。我需要一个可重复使用的面板,我可以在上面选择某个“年龄”,然后只显示那个年龄的人。
我正在考虑两种策略:
选项1:
- 读取 Excel 文件并将所有信息复制到 List<Object[]> 中。每个对象都包含个人信息(年龄、姓名、地址)。
- 如果我想按“年龄”过滤:阅读 List<> 寻找具有特定“年龄”的对象。
- 使用这些对象更新 tableModel(tableModel 具有 List< Object[]> 作为属性)。
使用更新后的 tableModel 更新 jTable。
inputsTableModel.inputsTableDataList = temp_list; inputsTable.setModel(inputsTableModel); panel1.add(inputsTableScroller, "2, 12, 3, 1, fill, fill"); inputsTableScroller.setViewportView(inputsTable);
选项 2:
- 从 Excel 中读取并直接复制到 tableModel(tableModel 将包含所有信息)。
- 过滤模型中的信息,更新jTable。
我的观点是:如果用户想要手动编辑表格,然后将更改保存到 Excel 文件,选项 2 显然是更好的解决方案。但有可能吗?是否可以过滤tableModel中的信息,然后更新表格?
另一方面,使用 Option1 时如何实现此修改和保存问题?