JTable有一个方法getVisibleRowCount(),该方法显示要显示的首选行数。
我想确定JTable中当前可见的实际行数。我怎样才能做到这一点?
我目前的尝试是:
int rowsVisible = table.getSize().getHeight()/table.getRowHeight();
但是它给我的价值比我所看到的要高得多。
例如,当可见10或11行时,结果为18。
最佳答案
我尚未对此进行测试,但是我希望当JTable
中包含JScrollPane
时,您可以使用getViewPort
向滚动窗格询问其视口,并从视口中检索尺寸。
如果将该高度除以表格的行高,则可能会得到更好的估计
final int pageSize =
(int) (table.getParent().getSize().getHeight() / table.getRowHeight());
非常接近