我想知道是否有人知道基于 Swing 的 JTable 替代方案,它可以处理自己的滚动,而不必放在 JScrollPane 中。
让我解释一下为什么。我目前正在做一个项目,我需要以表格格式从数据库中显示多达 1.6 GB 的数据。我花了一周半的时间研究 JTable 及其所有相关的类。我所学到的让我相信 JTable 是不够的,原因如下。
数据集太大而无法在屏幕上显示的 JTable 需要放入 JScrollPane 中,该 JScrollPane 充当太大而无法在屏幕上显示的组件的移动窗口。这满足了能够拥有一个不使用分页的大得离谱的 JTable 的要求。但是,仍然会创建整个 JTable,这会导致要求 TableModel 提供所有数据。在这一点上我可能是错的,但我的实践经验和缺乏关于这些东西基础的文档表明我不是。
我需要一个 JTable,它会不断滚动从数据库中分页并在 TableModel 端缓存(只有大约 100-300 条记录)的巨大数据集,(注意!这是重要的部分)只要求在表的可见区域。我的经验表明,JScrollPane 中的标准 JTable 将要求提供所有数据,而不管什么是可见的,从而阻止任何类型的后端分页工作。告诉我我错了,给我看一个有效的反例,或者指向我需要的第三方组件。