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

How to scrolldown a Container to some precise coordinate

化简,我有这个结构

Form {
   tab=Container(BoxLayout.y());
   other stuff
}

表单不可滚动(不应该),选项卡是。

在某些时候,我想重新绘制表单以使其与添加的一些新信息保持同步,我这样做是为了创建一个新的并显示它。

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

我可以使用

轻松地将 Y 坐标保存在静态变量中
scrolledToY=tab.getScrollY();

但是我在创建新表单时找不到设置它的方法。

setScrollY 似乎受到保护,事实上,如果我尝试 运行 使用它的程序,我会收到错误消息

error: setScrollY(int) has protected access in Component tab.setScrollY(scrolledToY);

正确的函数是什么? 谢谢

您可以使用 scrollRectToVisible().

仅供参考,您可以修改容器并调用重新验证来更新 UI。这将防止您可能遇到的令人讨厌的刷新问题。另请查看 InfiniteContainer,这可能是您真正想要的。