2010-04-04 74 views
1

我正在构建一个GWT应用程序,我希望能够检测到用户何时在我的ScrollPanels之一上发布滚动条。是否可以在GWT中检测滚动条发布事件?

我的用例是水平滚动条代表时间。由于无法表示全部可滚动时间范围,我只想用滚动条代表一小段时间窗口。当用户移动并释放滚动条时,我想在新中心是释放点的位置进行平滑重新调整。

我可以通过构建一个自定义滚动条小部件来解决这个问题,但是我想检查一下如何使用“本地”滚动条首先执行该操作。

回答

2

您可以使用ScrollPanel并实施您自己的ScrollHandler来完成。只需使用addScrollHandler()方法,你应该能够覆盖你需要的任何功能。

但是,我建议你重新考虑你的方法。你似乎真正想要的是一个时间滑块控件,它看起来像一个滚动条。您应该查看Composite课程和Widget Gallery以查看是否存在某些适合您需要的小组件的组合。否则,我也会看SmartGWT。他们有一个非常丰富的图形用户界面控件库,你可能会发现一些你已经可以使用的东西。

+0

谢谢,“只需使用addScrollHandler()方法,你应该能够覆盖你需要的任何功能。”我确实看过这部分API。如果有一种方法来检测滚动条的发布,我不清楚。 (编辑格式) – Keith 2010-04-04 01:51:49

+0

在ScrollHandler的onScroll()方法中,您将ScrollEvent作为参数。它有一个名为getAssociatedType()的方法。关联的DomEvent有一个名为getName()的方法。试试看。不过,我仍然认为你应该重新考虑你对问题的处理方法。 – adam 2010-04-04 20:03:53

+0

我编写了一个示例,我发现在发布时没有触发ScrollEvent(事件只在滚动条移动时触发......至少在Safari中这是事实)。关于重新思考这种方法,我处于设计和开发的早期阶段,并计划重新评估我所有的UI决策。无论如何,值得知道这是否可行。在这一点上,我倾向于不可能。再次感谢 – Keith 2010-04-04 20:44:38

相关问题