【发布时间】:2017-01-16 10:56:06
【问题描述】:
参考 Shai Almog 的这个问答: Rebuild list of containers without scrolling the list
我有一个带有一个容器 (TableLayout) 的表单,其中包含几行带有标签和按钮。单击按钮会更改行的顺序并重建整个表单(在 myForm.removeAll() 之后)。在myForm.revalidate() 之后,表单会跳到顶部。
我正在尝试实现这个确切的行为,在重新验证/更改容器内容后返回同一点(滚动位置 Y)。
我将 Container-class 子类化为使 setScrollY(int) 可见。将它与任意值一起使用不会滚动到该位置,因此setScrollY 方法似乎没有改变整个内容窗格的滚动位置。
而myContainer.getScrollY() 总是返回“0”。我只能通过调用getContentPane().getScrollY() 来获得滚动位置。
但显然不可能在内容窗格上调用setScrollY()-方法 - 因为无法对内容窗格进行子类化 - 在重新验证表单后滚动回相同的位置。
感谢您的建议!
【问题讨论】:
标签: codenameone