我的应用程序显示了很长的容器列表,当用户编辑其中一个容器时,必须刷新整个列表,因为其他容器中的内容可能会更改(它们也可能会更改大小)。
目前我只是通过getContentPane().removeAll()
执行此操作,然后重新计算所有容器,然后revalidate()
以显示更新的表单。但是,当我这样做时,列表会滚动回到顶部。
如何在列表中保持相同的滚动位置,例如刚刚编辑的容器的新实例与之前一样保留在屏幕上的相同位置?我知道scrollComponentToVisible(Component)
但据我所知,它并不允许我在屏幕上与刷新前完全相同的位置放置一个容器。
答案 0 :(得分:0)
由于您重建的位置可能会发生变化,因此直接调用setScrollY()
可能无法提供相同的位置,因为您需要具备的功能,因此我认为这样做并不可行。接近scrollComponentToVisible
。