【问题标题】:Smart-Gwt ScrolledHandler usageSmart-Gwt ScrolledHandler 用法
【发布时间】:2010-01-27 11:29:09
【问题描述】:
当 smartgwt 窗口上发生滚动事件时,我想做一些事情。我假设至少发生以下一种情况时会触发一个事件:使用鼠标滚轮在窗口内滚动、通过拖动滚动条滚动或使用滚动箭头滚动。
我已经向 smartgwt 窗口和 smartgwt 画布添加了一个处理程序,它是该窗口的唯一子窗口。两者都已设置为写入 GWT.log。
但是,我似乎无法触发 ScrollEvent。
有什么想法吗?
【问题讨论】:
标签:
javascript
events
gwt
dom-events
smartgwt
【解决方案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
该窗口有很多自动生成的子项(例如它的页眉和页脚),所以也许您尝试向其中一个添加侦听器,但它无法滚动。