开发者

Smart-Gwt ScrolledHandler usage

开发者 https://www.devze.com 2022-12-18 09:50 出处:网络
开发者_如何学JAVAI would like to do something when a scroll event has occurred on a smartgwt window. I\'m assuming that an event will be fired when at least one of the following has happened: scroll w

开发者_如何学JAVAI would like to do something when a scroll event has occurred on a smartgwt window. I'm assuming that an event will be fired when at least one of the following has happened: scroll within window with mouse scroll wheel, scroll by dragging scroll bar, or scroll using scroll arrows.

I've added a handler to a smartgwt window and also to the smartgwt canvas which is the only child of the window. Both have been set up to write to GWT.log.

However, I can't seem to get a ScrollEvent to fire.

Any ideas?


Not sure what you did wrong, but here's a working sample:

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();

Use the Developer Console to see the logs (see the SmartGWT FAQ for how to access it):

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

The window has a lot of auto-generated children (eg its header and footer) so maybe you attempted to add a listener to one of those, and it wasn't scrollable.

0

精彩评论

暂无评论...
验证码 换一张
取 消