我在JscrollPane中有一个JList,我正在尝试对数据进行分页,当用户滚动时,它会将适量的数据加载到屏幕上。问题是我需要计算出我的文件需要缓冲多少数据,唯一的方法是计算出有多少数据需要显示在屏幕上。有谁知道如何从我的JList中获取可以显示的行数和列数?另外,使用JList和JScrollPane进行分页是一个好主意,还是有其他方法更适合在滚动面板中显示大量数据?
谢谢
发布于 2011-10-26 01:21:20
您可以使用JList的getFirstVisibleIndex和getLastVisibleIndex方法来计算可见时显示的项数。
如果滚动窗格中视口的大小发生变化,那么可见行数也会发生变化。因此,如果组件是可调整大小的,则可能需要监听组件大小的变化。
发布于 2011-10-26 01:17:41
在JList上执行getModel()以获取底层ListModel,然后对其调用getSize()。
编辑:哦,如果模型内容由多列的数据结构组成,则调用该数据结构上存在的任何适合该大小的方法。您可以使用getElementAt(int index)获得一行。如果列计数是可变的,可能需要更多的工作。
https://stackoverflow.com/questions/7893162
复制相似问题