java - 在 GWT 文本框中捕获粘贴的文本

标签 java gwt

我想在 GWT 中处理粘贴事件并捕获粘贴的文本 TextBox。正如我所检查的那样,TextBox 中没有粘贴事件的标准处理程序。

最佳答案

我发现可以通过添加一些 javascript native 代码来实现:

public class PasteAwareTextBox extends TextBox {

    public PasteAwareTextBox() {
        super();
        sinkEvents(Event.ONPASTE);
    }

    @Override
    public void onBrowserEvent(Event event) {
        super.onBrowserEvent(event);
        switch (event.getTypeInt()) {
        case Event.ONPASTE:
            onPasted(getClipboardData(event));
            break;
        }

    }

    private void onPasted(String clipboardData) {
        System.out.println("Pasted:" + clipboardData);
    }

    private static native String getClipboardData(Event event) /*-{
        return event.clipboardData.getData('text/plain'); 
    }-*/;

}

1) 订阅粘贴事件。

2) 通过JSNI调用event.clipboardData.getData('text/plain');

关于java - 在 GWT 文本框中捕获粘贴的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538530/

相关文章:

java - 通过基准测试中的注释加载应用程序上下文

java - 创建对象时出现 FATAL EXCEPTION : main java. lang.StackOverflowError

iphone - 在 iPhone 上快速测试 GWT 应用程序的解决方法?

java - 后端缺少 GWT 示例

java - 如何从 Java 调用 scala 的 Option 构造函数

java - 从多个 XML 文件/字符串进行 Saxon/Javax 转换

java - Servlet 中的 hibernate 导致 NoClassDefFoundError : org/slf4j/LoggerFactory

异步开始和结束时的 Resty-GWT 自定义回调

java - 没有 RPC 的 GWT 数据库访问

java - 如何使用 Spring Data JPA 将列的新旧值保存到 Audit 表中