2012-05-07 39 views
1

我维护一个GWT Web应用程序。我们的用户经常通过标准的文件上传对话框上传截屏图像文件。我试图想到一些更友好的方法。我想知道是否有任何方法可以让用户在点击打印屏幕按钮后“粘贴”图像数据。GWT剪贴板过去缓冲区

我读过一些其他帖子,说GWT不能将任何东西拷贝到剪贴板缓冲区或从剪贴板缓冲区读取,但如果用户通过ctrl-V或右键单击并粘贴来手动粘贴图像,怎么办?

如果有人知道我可以在GWT中完成这个任务,或者有任何其他想法让我知道。

回答

1

有粘贴的事件:我用这个,但

com.google.gwt.user.client.Event.ONPASTE 

仅粘贴文本(用户必须用户按Ctrl + V或右键点击>粘贴)。 我想你可能有一种方法来使用它。

捕获事件,我把它沉到我的Widget第一:

sinkEvents(Event.ONPASTE | Event.ONKEYPRESS | Event.ONKEYDOWN | Event.ONFOCUS); 

然后,我实现onBrowserEvent(事件):

public void onBrowserEvent(Event event) { 
    super.onBrowserEvent(event); 
    switch (event.getTypeInt()) { 
    case Event.ONPASTE: paste(event); 
    } 
} 

希望你能找到一个方法来适应本作图片。

+0

感谢这有助于很多。粘贴图像时,事件正在为我射击。一旦我有了Event对象,有没有办法从它读取粘贴的数据?如果我将文本粘贴到文本框中,我只能阅读文本框的文本,但粘贴图像不会添加任何文本。 – Zip184