我有一个表格,我可以在其中向表格中显示的数据添加一些过滤器,我希望能够将特定行保留在屏幕上的同一位置,为了选择行,我选择了顶行因为它是我知道的唯一行,如果有任何数据(可能是唯一的行),当过滤器更改时,我需要滚动到该行(或其附近的行),我可以找到我的项目的行号更改我想去的数据后想去。
目前我正在使用 jTable.scrollRectToVisible(new Rectangle(jTable.getCellRect(rowId, 0, true)));
但这只是确保它在 View 中。由于在大多数情况下,数据的更改使我的 View 转到顶部,因此它会将行滚动到 View 的底部。
如何最好地将行移至 View 顶部?如果该行位于数据的末尾,它应该滚动到底部,而不是强制滚动框中的空白以使其到达顶部。
最佳答案
scrollPane.getViewport().setViewPosition(Point);
Point 是从 getCellRect(...) 方法返回的 x/y 位置。
关于java - 将行保持在同一位置的 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969561/