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());


非常接近

07-26 00:29
查看更多