Java问题:需要一个排序的JList来表示数据库表

时间:2009-05-13 19:57:32

标签: java database swing sorting jlist

我为排序的JList找到了sample,但我的应用程序是由嵌入式H2数据库驱动的,所以我想知道是否有更好的方法来实现这一点。特别是考虑到有问题的表可能会变得非常大,并且在JList列表模型中复制所有数据似乎有点无法让数据库来管理它。

这样做有好办法吗?或者我被迫拼凑一些笨拙的黑客以允许JList“滚动”动态查询的数据块或什么?

1 个答案:

答案 0 :(得分:2)

您的JList ListModel负责将支持数据公开为有序列表。 ListModel的方法将由JList从UI(AWT事件)线程调用,因此其性能需要非常好。这就是为什么大多数实现都具有{ {1}}在内存中备份数据。我想你可以用数据库作为支持数据实现ListModel。您很可能会延长ListModel以获取侦听器注册,并实施AbstractListModelgetElementAt(int)。然后getSize()负责获取特定索引的对象。请注意,getElementAt会针对不同的索引多次调用JList,因此您可能会发现自己正在缓存结果。根据您缓存的数据量,您可能只是从数据库中检索整个数据集。