1

我有一个 Swing JTable。它很大,用户可以上下滚动查看他们想要处理的数据行。当用户停止滚动时,我想知道 JTable 的行号,它是用户可以看到的第一个可见行。在用户完成其他操作后,我想用它来滚动回表格中的这个位置(我知道如何做滚动块——它得到了让我难过的第一个可见行)。

4

1 回答 1

5

您首先需要找出表格的哪一部分是可见的,然后将视觉坐标映射到底层行:

JViewport viewport = scrollPane.getViewport();
Point p = viewport.getViewPosition();
int rowIndex = table.rowAtPoint(p);

除此之外,您可能希望p根据您希望在第一个可见行仅部分可见时实现的行为来尝试偏移(例如,将其偏移半行高等)。

于 2013-12-03T12:52:25.967 回答