Smart-Gwt ScrolledHandler用法

时间:2010-01-27 11:29:09

标签: events gwt javascript-events smartgwt

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

我已经为smartgwt窗口添加了一个处理程序,并且还添加了一个smartgwt画布,这是该窗口的唯一子画面。两者都已设置为写入GWT.log。

但是,我似乎无法启动ScrollEvent。

有什么想法吗?

1 个答案:

答案 0 :(得分: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

窗口有很多自动生成的子窗口(例如它的页眉和页脚),所以你可能试图在其中一个窗口中添加一个监听器,而且它不可滚动。