SmartGWT RichTextEditor 没有捕获任何 onBrowserEvents

SmartGWT RichTextEditor not capturing any onBrowserEvents

我在我的应用程序上使用 SmartGWT,在尝试从浏览器获取事件时遇到了一些问题。我需要获取 ONPASTE 事件,但是当我尝试使用它时,方法 onBrowserEvent 甚至都不会被调用。

这是我正在使用的代码。

import com.google.gwt.user.client.Event;
import com.smartgwt.client.widgets.RichTextEditor;

public class CustomRichTextEditor extends RichTextEditor {
    public CustomRichTextEditor() {
        super();
        sinkEvents(Event.ONPASTE);
    }

    @Override
    public void onBrowserEvent(Event event) {
        super.onBrowserEvent(event);
        System.out.println("Event.getTypeInt: " + event.getTypeInt() + " - Event.getType: " + event.getType());
        switch (event.getTypeInt()) {
        case Event.ONPASTE:
            System.out.println("Paste Detected");
            break;
        }
    }

}

有人可以帮我吗?

RichTextEditor actualy do not attach to any input elements. And use textarea element like a container for transport only. It doenst subscribe to events like ONPASTE at all.

这个问题是在 gwt google group 中首次提出的。好人 Brandon Donnelson 发现了为什么这不起作用以及如何解决它。

Here is 使用自定义 RichTextEditor 的工作 gwt 示例(大约 300 行代码在 5 类 并且不认为将它粘贴在这里是个好主意)它添加事件绑定到 RichTextEditor 并允许ONPASTE 和其他一些事件起作用。它的工作原理如下:

p.s。还要记住,这个 RichTextEditor 奇怪的行为是在 2011 年 11 月作为错误提交的。但仍然没有在原始代码中修复。