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公开(希望一开始没有严格的理由使其不公开)。至少目前在模拟器中,它似乎可以工作,没有副作用(我希望即使在最终的应用程序中也能保持这种状态)。无论如何,谢谢。:)