当 smartgwt 窗口上发生滚动事件时,我想做一些事情。我假设至少发生以下情况之一时将触发一个事件:使用鼠标滚轮在窗口内滚动、通过拖动滚动条滚动或使用滚动箭头滚动。
我已将处理程序添加到 smartgwt 窗口以及作为窗口唯一子项的 smartgwt 画布。两者都已设置为写入 GWT.log。
但是,我似乎无法ScrollEvent
开火。
有任何想法吗?
当 smartgwt 窗口上发生滚动事件时,我想做一些事情。我假设至少发生以下情况之一时将触发一个事件:使用鼠标滚轮在窗口内滚动、通过拖动滚动条滚动或使用滚动箭头滚动。
我已将处理程序添加到 smartgwt 窗口以及作为窗口唯一子项的 smartgwt 画布。两者都已设置为写入 GWT.log。
但是,我似乎无法ScrollEvent
开火。
有任何想法吗?
不知道你做错了什么,但这里有一个工作示例:
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
该窗口有很多自动生成的子项(例如,它的页眉和页脚),因此您可能尝试向其中一个添加侦听器,但它无法滚动。