gpt4 book ai didi

java - 用于呈现未知行数的 JTable

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:32 25 4
gpt4 key购买 nike

我有一个返回大量行的数据库查询。 JDBC在我将其显示在 JTable 中之前,不会告诉您有多少行返回并且有太多行无法计算它们.

所以我正在使用的模型是一个 Iterable<R> ,但不幸的是,TableRowModel必须预先知道行数。

我可以想象一些可能有效的策略:

  • 加载所有行,但在后台执行,并将它们分批添加到模型中。
  • 以某种方式检测呈现较低行的请求(我猜是通过模型)并在发生这种情况时动态加载更多行。
  • 在屏幕上有一个按钮来明确加载更多行。
  • 某种 non-JTable支持在事先不知道行数的情况下渲染行的组件(理想,但我找不到。)

我想知道是否有一种“正常”的方式来做到这一点,因为我在 UI 中很少看到这种事情。少数JDBC我检查过的工具(我认为这些是最好的选择)似乎要么急切地加载结果,要么将它们分页(作为用户,我真的不喜欢在 GUI 应用程序中分页,所以我想避免这种情况。)

不过,像在表格上“查找”这样的操作理想情况下应该以一种“可理解”的方式工作……所以看起来这不会太容易。

最佳答案

使用 SwingWorker在你执行AbstractTableModel .让工作人员对查询进行分区,以便及时提供合理数量的记录,而其余的则在后台读取。使用 PropertyChangeListener 显示进度并实现取消按钮。

关于java - 用于呈现未知行数的 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450074/

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