1

当 smartgwt 窗口上发生滚动事件时,我想做一些事情。我假设至少发生以下情况之一时将触发一个事件:使用鼠标滚轮在窗口内滚动、通过拖动滚动条滚动或使用滚动箭头滚动。

我已将处理程序添加到 smartgwt 窗口以及作为窗口唯一子项的 smartgwt 画布。两者都已设置为写入 GWT.log。

但是,我似乎无法ScrollEvent开火。

有任何想法吗?

4

1 回答 1

1

不知道你做错了什么,但这里有一个工作示例:

Window window = new Window();
 window.resizeTo(200,200);
 VLayout layout = new VLayout();
 layout.setOverflow(Overflow.AUTO);

 // create something large enough to allow scrolling
 Canvas canvas = new Canvas();
 canvas.setHeight(500);
 layout.addMember(canvas);
 window.addItem(layout);

 layout.addScrolledHandler(new ScrolledHandler() {
   @Override
   public void onScrolled(ScrolledEvent event) {
    SC.logWarn("scrolled");
   }
 });

 window.draw();

使用开发者控制台查看日志(有关如何访问它,请参阅 SmartGWT 常见问题解答):

http://forums.smartclient.com/showthread.php?t=8159#aConsole

该窗口有很多自动生成的子项(例如,它的页眉和页脚),因此您可能尝试向其中一个添加侦听器,但它无法滚动。

于 2010-01-27T20:19:27.107 回答