Java 如何将容器向下滚动到某个精确的坐标

Java 如何将容器向下滚动到某个精确的坐标,java,scroll,codenameone,Java,Scroll,Codenameone,简化一下,我有这个结构 Form { tab=Container(BoxLayout.y()); other stuff } 表单是不可滚动的(也不应该滚动),选项卡是可滚动的 在某个时候,我想重新绘制表单,使其与添加的一些新信息保持最新,然后创建一个新表单并显示它 但我想向下滚动容器选项卡到其前身的Y坐标 我可以使用 scrolledToY=tab.getScrollY(); 但是当我创建新表单时,我找不到一种方法将其设置回原来的状态 SetScroly似乎受到保护,事实上,如

简化一下,我有这个结构

Form {
   tab=Container(BoxLayout.y());
   other stuff
}
表单是不可滚动的(也不应该滚动),选项卡是可滚动的

在某个时候,我想重新绘制表单,使其与添加的一些新信息保持最新,然后创建一个新表单并显示它

但我想向下滚动容器选项卡到其前身的Y坐标

我可以使用

scrolledToY=tab.getScrollY();
但是当我创建新表单时,我找不到一种方法将其设置回原来的状态

SetScroly似乎受到保护,事实上,如果我试图使用它运行程序,我会得到一个错误

错误:SetScroly(int)在组件中具有受保护的访问权限 tab.setscroly(滚动条)

什么是正确的功能,而不是使用?
谢谢。

您可以使用
scrollRectToVisible()


仅供参考,您只需修改容器并调用revalidate来更新UI。这将防止您可能遇到的严重刷新问题。另外,请查看
InfiniteContainer
,这可能是您真正想要的。

实际上,设计有点复杂,并且更改发生在整个应用程序中,因此仅修改容器并不会减少它。最后,无论如何,我发现更实用的方法是简单地扩展Container类并将setscroly公开(希望一开始没有严格的理由使其不公开)。至少目前在模拟器中,它似乎可以工作,没有副作用(我希望即使在最终的应用程序中也能保持这种状态)。无论如何,谢谢。:)