如何获取JList中可见的列数和行数?

时间:2011-10-25 17:15:54

标签: java swing pagination jscrollpane jlist

我有一个JList位于JscrollPane内,我正在尝试对数据进行一些分页,当用户滚动时,它会将适当数量的数据加载到屏幕上。问题是我需要弄清楚我需要从文件中缓冲多少数据,唯一的方法就是弄清楚需要在屏幕上显示多少数据。有没有人知道如何获取可以显示在JList之外的数字或行和列?也正在用JListJScrollPane分页,或者是否有其他方法更适合在滚动面板中显示大量数据?

由于

2 个答案:

答案 0 :(得分:3)

您可以使用getFirstVisibleIndex的{​​{1}}和getLastVisibleIndex方法计算可见时显示的项目数。

如果滚动窗格中视口的大小发生更改,则可见行的数量也会更改。因此,如果组件可调整大小,则可能需要监听组件大小的更改。

答案 1 :(得分:2)

在JList上执行getModel()以获取基础ListModel,然后在其上调用getSize()

编辑:哦,如果模型内容由具有多列的数据结构组成,则调用大小上存在的任何合适的方法。您可以使用getElementAt(int index)获得一行。如果列数可变,可能还需要更多工作。