使用 JList 显示大量数据?
我有一个 JList,必须显示 3000 多个项目。我希望列表中有大约 100 个项目“可见”,当您滚动并接近“可见”项目的末尾(或开头)时,必须将下一部分(大约 50 个)加载到列表中。有什么简单的方法可以做到这一点吗?
I have a JList, wich must display more than 3000 items. I wish to have "visible" around 100 items in the list, and when you scroll and getting close to the end (or begining) of the "visible" items the next portion (around 50) must be loaded in the list. Is there any simple way of doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
该列表仅呈现可见部分。所以从这个角度来看没有任何开销。如果您想要延迟加载 - 使用自定义模型。
从这个 页面 :
您可以编写自己的类来扩展 AbstractListModel 或 AbstractTableModel,以便在必要时提供所需的数据。以下示例展示了 AbstractTableModel 的用法。
The list is rendering only the visible part. So there is no overhead from this point of view. If you want lazy loading - use custom models.
From this page :
You can write your own class that extends AbstractListModel or AbstractTableModel so that you can provide the needed data when necessary. The following example shows the usage of AbstractTableModel.
不,没有简单的方法,您必须实现分页
由数据库引擎管理时最简单的工作,大多数直接支持分页
no there are no simple way for that, you have to implements Pagination(s)
easiest job when is managed by Databases engine, most of then support paginations directly
in the Model, but I never seen workaround for XxxListModel, use JTable with one Colum instead, there are some good workaround for Pagination for JTable
呵呵。你让这个数字听起来像是一个很大的数字。这是一个包含(并且显示得很好)超过 30000 项的列表。
Huh. You make that sound like a big number. Here is a list holding (and displaying just fine), more than 30 thousand items.