设想:
您正在使用带有自定义 TableModel 的 JTable 来查看位于数据库或网络或其他任何地方的某个集合的内容。
完成这项工作的蛮力方法是一次加载整个集合。假设由于需要资源,这不切实际。
解决该问题的简单方法是按需获取行,一次一行,因为 JTable 呈现每一行,并调用 TableModel.getValueAt(); 根据需要缓存。但是,这会导致对数据库的大量点击。
有没有办法监听 JTable 的滚动/视口事件,以确定在呈现每个单元格之前要显示哪些行?如果是这样,我想拦截并导致我的自定义 TableModel 一次预取一页。
编辑:只是为了澄清,这里的重点是能够在一批中获取一组可见表行的内容,而不必自己获取每一行的内容。