我有一个表格,我可以在表格中显示的数据中添加一些过滤器,我希望能够在屏幕上的同一位置保留一个特定的行,用于选择我选择了顶行的行因为我知道的唯一一行是否有任何数据(可能是唯一的行),当过滤器改变时我需要滚动到那一行(或者它附近的一行),我可以找到项目的行号我想要改变我想去的数据后去。
目前我正在使用jTable.scrollRectToVisible(new Rectangle(jTable.getCellRect(rowId, 0, true)));
,但这只是确保它在视野中。因为在大多数情况下,数据的更改使我的视图转到顶部,它将行滚动到视图的底部。
我如何才能最好地将行放到我的视图顶部?如果行位于我的数据的末尾,它应该只滚动到底部,而不是强制滚动框中的空白区域使其到达顶部。
答案 0 :(得分:2)
scrollPane.getViewport().setViewPosition(Point);
Point将是getCellRect(...)方法返回的x / y位置。