当前位置: 首页 > 知识库问答 >
问题:

如何实现滚动到底部时刷新的JTable

卢朝
2023-03-14

我试图理解Swing应用程序中表的具体工作方式。有一个从数据库中检索数据并在JTable上显示数据的表。我浏览了代码,并计算出如何从数据库中读取数据。

我似乎在纠结的一件事是数据如何显示在表上以及如何更新。我知道如何在表中显示数据,但与此表的不同之处在于数据是动态更新的。也就是说,并非从数据库检索的所有数据都显示在表上。

看起来应用程序显示了许多行,当用户滚动鼠标或将滚动条移动到表的底部/末端时,应用程序会自动更新表并显示更多数据(我可以看到发生这种情况时会有轻微的延迟)。

为了使我能够弄清楚上述内容是如何实现的,我需要更多关于这项技术的信息,例如,这种技术被称为什么,以及通常使用的接口/类是什么。

共有1个答案

公冶峰
2023-03-14

我不知道这种技术叫什么名字,但我知道它在当今的移动世界非常普遍(比如Twitter和Facebook应用程序使用它)。出于实际目的,该实现可能是一个普通的JTable,其中包含一些修改过的组件。

>

  • 编写自己的tablemodel来显示数据(这很容易做到),您可以从任何地方检索信息,并根据需要添加/删除数据。请参阅此处的文档。只有少数几个方法需要实现这里最重要的是getrowcount()方法,在从表中添加/移除数据时可以更改该方法,以及检索要在表中显示的数据的getValueat()方法。TableModel中可能有一个类似数组的对象(例如ArrayList),其中包含应该在表中显示的数据。当您想要从表中添加/移除数据(即“刷新”)时,只需从这个数组列表对象中添加/移除行,然后在表上触发刷新以获取更改。或者,如果使用数据库,可以在tablemodel中打开一个数据库游标,每当您想在表上显示值时,getvalueat()将调用该游标。

    您需要覆盖一个GUI组件,例如JScrollbar,或者向滚动条添加侦听器,以便它检测您何时试图滚动到表的末尾,并触发刷新。

    从视觉上看,如果您想在滚动到表的末尾时显示一些特殊的内容(例如显示单词“刷新”),则需要覆盖当前外观的一些绘画组件。如果您想在jscrollbar的“高度”上添加几个刻度,那么您还需要覆盖它,这样您就可以将滚动条移动到“刷新”部分(只是一个显示的东西--上面的监听器应该执行实际的刷新工作)

  •  类似资料:
    • 问题内容: 以下文章是否仍然是检测UITableView实例何时滚动到底部(在Swift中),还是自那以来已被更改(例如:改进)的公认方法? 谢谢。 问题答案: 试试这个 或者你可以这样找到

    • 问题内容: 我正在使用Ajax请求创建聊天,并且试图使消息div滚动到底部没有太多运气。 我将所有内容包装在这个div中: 有没有一种方法可以使用JS将其默认滚动到底部? 有没有一种方法可以在ajax请求后将其滚动到底部? 问题答案: 这是我在网站上使用的内容:

    • mescroll 下拉刷新,列表滚动到最底部,无法再次滚动? 最外层容器添加了mescroll,里面有一个滚动列表,总高度刚好占满一屏,现在如果下边滚动列表,滚动到到最底部,下拉刷新后,这个滚动列表就无法再滚动了,要怎么修改? mescroll官网地址

    • 问题内容: 我的问题在这里有点袖手旁观,所以我会尽力解释这一点。 我有一个文本区域,具有的CSS 。我试图防止它在调整大小的同时产生滚动条。此textarea与外部脚本的控制台同步,意味着它会更新。但是,默认情况下,除非突出显示文本,否则它将停留在顶部,然后拖动到元素的底部。当然,这是向下滚动的唯一方法,而不是使用箭头键。 以编程方式,在更新时是否有任何方法可以将文本区域保持在底部?使其具有自动滚

    • 现在的情况是:当内部滚动条滚动到底部时如果继续滚动,外部滚动条不会滚动,需要停顿或者移动鼠标滚动才能触发外层滚动条

    • 本文向大家介绍js实现滚动条滚动到页面底部继续加载,包括了js实现滚动条滚动到页面底部继续加载的使用技巧和注意事项,需要的朋友参考一下 这个实例应该说可以很简单,直接使用jQuery的方法来处理也是可以的。但本文底层使用原生的js来处理,遇到一些小知识点可以分析一下也算有所得。 原理很简单,就是为window添加一个scroll事件,浏览器每次触发scroll事件时判断是否滚动到了浏览器底部,如果