GWT TextArea onBlur 未被调用

GWT TextArea onBlur not being called

我在 GWT 中有一个 TextArea class,我已经扩展了它,但是我的事件处理方法 none 似乎被调用了。我已经这样定义了我的 class :

private class MTextBox extends TextArea {
    public MTextBox() {
        super();
        this.addDomHandler(new BlurHandler(){
            @Override
            public void onBlur(BlurEvent event) {
                //Handle Blur
            }           
        }, BlurEvent.getType());
        this.addDomHandler(new FocusHandler(){
            @Override
            public void onFocus(FocusEvent event) {
                // Handle Focus.
            }           
        }, FocusEvent.getType());
    }

我觉得没问题,事件已正确触发:

import com.google.gwt.core.shared.GWT;
import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.BlurHandler;
import com.google.gwt.event.dom.client.FocusEvent;
import com.google.gwt.event.dom.client.FocusHandler;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.goulds.client.views.ApplicationEntryPoint;

/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class TestMTextBox extends ApplicationEntryPoint
{
    private class MTextBox extends TextArea {
        public MTextBox() {
            super();
            this.addDomHandler(new BlurHandler(){
                @Override
                public void onBlur(BlurEvent event) {
                    //Handle Blur
                    GWT.log("onBlur");
                }           
            }, BlurEvent.getType());
            this.addDomHandler(new FocusHandler(){
                @Override
                public void onFocus(FocusEvent event) {
                    // Handle Focus.
                    GWT.log("onFocus");
                }           
            }, FocusEvent.getType());
        }
    }



    @Override
    public void onModuleLoad()
    {
        VerticalPanel verticalPanel = new VerticalPanel();
        verticalPanel.add(new MTextBox());
        verticalPanel.add(new MTextBox());
        verticalPanel.add(new MTextBox());


        RootPanel.get().add(verticalPanel);
    }
}