Events 如何在GWT框架中使用事件
我希望捕获GWT框架中的所有事件。我找到了几种方法,但它们只返回mousemove和mouseout事件。我还需要按键、输入等。目标是捕获事件并使用WebSocket将它们发送到另一个客户端,然后在另一端复制它们(共同浏览) 我正在使用框架内相同域上的页面Events 如何在GWT框架中使用事件,events,gwt,frame,Events,Gwt,Frame,我希望捕获GWT框架中的所有事件。我找到了几种方法,但它们只返回mousemove和mouseout事件。我还需要按键、输入等。目标是捕获事件并使用WebSocket将它们发送到另一个客户端,然后在另一端复制它们(共同浏览) 我正在使用框架内相同域上的页面 public class ESinkFrame extends Frame implements EventListener { public ESinkFrame(String src){ super(sr
public class ESinkFrame extends Frame implements EventListener {
public ESinkFrame(String src){
super(src);
DOM.sinkEvents(getElement(), Event.KEYEVENTS);
DOM.sinkEvents(getElement(), Event.MOUSEEVENTS);
}
public void onBrowserEvent(Event event) {
System.out.println( "sunk event: " + DOM.eventGetTypeString(event) );
}
}
当我使用它时,我也尝试附加一种不同的方式来获取事件
ESinkFrame frame = new ESinkFrame("http://127.0.0.1:8888/other.html");
RootPanel.get().add(frame);
FrameElement frameElt = frame.getElement().cast();
Document frameDoc = frameElt.getContentDocument();
BodyElement body = frameDoc.getBody();
Element el = body.cast();
DOM.setEventListener(el, new EventListener()
{
public void onBrowserEvent(Event event)
{
Window.alert("test");
}
});
DOM.sinkEvents(el, Event.KEYEVENTS);
Event.addNativePreviewHandler(new NativePreviewHandler(){
public void onPreviewNativeEvent(NativePreviewEvent event) {
String eventName = event.getNativeEvent().getType();
if (event.isFirstHandler() /* && (event.getTypeInt() & Event.MOUSEEVENTS) == 0*/)
System.out.println("PreviewHandler: " + eventName);
}
});
请在您的问题中发布相关的代码片段。我添加了两种解决问题的方法