gpt4 book ai didi

java - 有很多行的 JTable : any reusable solutions out there?

转载 作者:行者123 更新时间:2023-11-29 05:41:11 26 4
gpt4 key购买 nike

我有一个 JTable,它的行数不断增加(可能是无限多)。避免高内存使用的解决方案是将内容“缓存”到文件中,并根据当前滚动条光标位置从该文件中检索页面/数据 block 。另一个“额外”问题是根据列值过滤此数据。正如我认为这是一个已知问题并避免重新发明轮子一样,我想知道是否有任何现成的小部件/库可用于此目的。我只是用谷歌搜索找不到任何东西。

最佳答案

JTable 仅从其 model 中读取数据当它需要显示该数据时。不可见的部分(通常当表格放置在滚动 Pane 中时)可以非常大而不会对性能产生任何影响,只要您的模型可以管理它。

我建议在关系数据库的顶部实现模型,通过 JDBC 使用 SQL 选择所需的列。在最简单的情况下,任何行都可以加载为

  select field1, field2, field2 .. field2 from myTable 
offset row_number limit 1;

这样的陈述也是成为 prepared statement 的理想人选.唯一可能效果不佳的是排序,因为任何排序器都需要查看列中的所有值来决定顺序。但是,您可以改用数据库引擎排序:

  select field1, field2, field2 .. field2 from myTable 
order by field1 desc
offset row_number limit 1;

如果 field1 上有索引,数据库引擎可以使用该索引而无需实际对列进行排序。

如果性能不够,可以尝试更复杂的模型,一次获取多行并使用一些缓存。然而,下降数据库可以拉很多,这可能不是必需的。

关于java - 有很多行的 JTable : any reusable solutions out there?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17512773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com