如何让ScrollPanel(包含许多小部件)滚动到GWT中的特定小部件?

时间:2013-07-16 10:04:13

标签: gwt scroll scrollbar

好的,我有一个滚动面板,其中包含1个HTMLPanel,其中包含许多FlowPanel。例如:

 <ScrollPanel>
   <HTMLPanel>
     <FlowPanel1> 
     <FlowPanel2>
     <FlowPanel3> ......
   </HTMLPanel>
 </ScrollPanel>

每个FlowPanel可能很大,有时用户一次只能在ScrollPanel中看到1个FlowPanel。因此,如果他们想要看到其他FlowPanel,那么他们必须向下滚动&amp;仔细看看FlowPanel。这个不好。

所以我想构建许多按钮,例如(gotoFlowPanel_1_But,gotoFlowPanel_2_But,gotoFlowPanel_3_But,...)。我希望当用户点击该按钮时,它将使用户看到正确的FlowPanel,这意味着如果FlowPanel进一步隐藏在ScrollPanel的底部,ScrollPanel将自动向下滚动到FlowPanel&amp;的位置。向用户显示它。

这是点击gotoFlowPanel_1_But时的代码

myScrollPanel.setPosition(flowPanel1.getAbsoluteTop());

当我第一次点击gotoFlowPanel_1_But按钮时,它跳转到正确的FlowPanel1。然而,当我再次点击该按钮时,位置被改变了&amp;滚动条向下滚动了很多。但是,如果我再次单击该按钮,那么它显示正确,但是当我再次点击它时,它显示错误的位置。

那么如何解决呢?

1 个答案:

答案 0 :(得分:1)

您是否检查了 ScrollPanel 类中的 ensureVisible(UIObject项目)方法?有关详细信息,请参阅GWT documentation