2

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

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

每个 FlowPanel 可能很大,有时用户一次只能在 ScrollPanel 中看到 1 个 FlowPanel。因此,如果他们想查看其他 FlowPanel,则必须向下滚动并仔细查看以找到该 FlowPanel。情况不妙。

所以我想构建许多按钮,例如(gotoFlowPanel_1_But,gotoFlowPanel_2_But,gotoFlowPanel_3_But,...)。而且我希望当用户单击该按钮时,它将使正确的 FlowPanel 对用户可见,这意味着如果 FlowPanel 进一步隐藏在 ScrollPanel 的底部,则 ScrollPanel 将自动向下滚动到该 FlowPanel 的位置并以可见的方式显示它给用户。

这是单击 gotoFlowPanel_1_But 时的代码

myScrollPanel.setPosition(flowPanel1.getAbsoluteTop());

当我第一次单击 gotoFlowPanel_1_But 按钮时,它会跳转到正确的 FlowPanel1。但是,当我再次单击该按钮时,位置发生了变化,并且滚动条向下滚动了很多。但是,如果我再次单击该按钮,则它显示正确,但是当我再单击 1 次时,它显示错误的位置。

那么如何解决呢?

4

1 回答 1

1

您是否检查了ScrollPanel类中的ensureVisible(UIObject item)方法?有关更多信息,请参阅GWT 文档...

于 2013-07-16T14:36:20.657 回答