GWT中sinkEvent方法的用途

sinkEvent是指为GWT控件注册一些事件。 
比如TextBox会响应OnKeyPressed事件的原因是因为TextBox的实现中使用了sinkEvent(GWT实现)。 

sinkEvent对于我们的用处在于,当我们使用DOM方式或者继承Widget或者通过继承Composite实现Composite Widget时,可以将我们需要的一些Event通过sinkEvent的方式在onBrowserEvent中注册到控件中。 

另外,GWT的一些控件并不直接支持某些事件,如双击事件,那么如何让其支持呢。这里我用为com.google.gwt.user.client.ui.Image添加鼠标双击事件处理来举个例子(请注意sinkEvents的用法):

在构造函数中加上
public Image() {    
    
                sinkEvents(Event.ONDBLCLICK);    
                DoubleClickHandler handler = new DoubleClickHandler() {    
                        @Override    
                         public void onDoubleClick(DoubleClickEvent event) {    
                                    
                        }    
                };    
                 this.addHandler(handler,    DoubleClickEvent.getType());    
}

你可能感兴趣的:(Google,事件,gwt,event,sinkEvent)