java - GWT TextArea onBlur 未被调用

标签 java google-chrome events gwt

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

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

关于java - GWT TextArea onBlur 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42576211/

相关文章:

java - ()->System.out.println ("done") 是什么意思?

java - 我没有在 java 中获取 jsonArray?

jquery - 如何使用 jQuery.validate() 但依赖 native Chrome 验证警报?

actionscript-3 - 如何将参数传递给 flex/actionscript 中的事件监听器函数?

html - 为什么输入行为是这样的?

java - 适用于 Android 的图像编辑 SDK?

java - 我在编写静态方法时遇到问题

html - 外部 css 在本地主机上工作正常但在远程服务器上不工作

css - 打开 Sans 在每个浏览器上看起来都很奇怪

c# - 如何将 DataGridViewComboBoxColumn 绑定(bind)到 OnChange 事件 (C#)