如何知道Widget调用Handler或Event?

时间:2012-12-02 23:49:56

标签: java gwt mvp gwtp

我在我的项目中使用GWT-Platform,我想查看Widget所谓的Handler,例如BlurHandler。

我的问题的原因如下。这个BlurHandler由四个TextField注册。

@Override
public void addFormatTextBoxListener(BlurHandler handler) {
    tbAlt.addBlurHandler(handler);
    tbLat.addBlurHandler(handler);
    tbMedida.addBlurHandler(handler);
    tbLong.addBlurHandler(handler);
}

在我的Presenter中,我想找到哪个字段(Widget)失去了焦点(BlurEvent的结果)。

getView().addFormatTextBoxListener(new BlurHandler() {
        @Override
        public void onBlur(BlurEvent event) {
            doFormatTextBox();
        }
    });
private void doFormatTextBox() {
    //who called me???
}

当四个Widget中的一个失去焦点时,将调用doFormatTextBox方法。但Widget失去了什么?

1 个答案:

答案 0 :(得分:1)

重定位事件API(http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/Event.html) 它就像Element e1 = event.getTarget()一样接缝,然后做if (e1.equals(widget1.getElement())){//do stuff...}就可以了。

这假设BlurEvent扩展com.google.gwt.user.client.Event,我不完全确定。