我有以下代码片段,changeTextArea是一个TextArea对象.
changeTextArea.addKeyboardListener(new KeyboardListenerAdapter()
public void onKeyPress( Widget sender,char keyCode,int modifier){
//do something
//I WISH TO STOP THE EVENT THAT MAPS TO THIS KEYPRESS FROM BUBBLING ANY FURTHER
}
}
我如何停止导致调用此方法的事件从changeTextArea冒泡到Panels / Widgets / Composites /包含changeTextArea的任何内容.简洁地说,如何阻止它进一步冒泡.任何帮助将不胜感激(特别是代码示例).
最佳答案
据我所知,你无法通过键盘监听器来实现,但可以通过使用DOM类添加事件预览来实现:
原文链接:https://www.f2er.com/java/438021.htmlDOM.addEventPreview(EventPreview preview)
然后当你得到这个事件:
onEventPreview(Event event)
您应该返回false,表示您要取消该事件. Event对象也支持此方法:
public final void cancelBubble(boolean cancel)
取消给定事件的冒泡.这将阻止事件传播到父元素.
你可以在这里找到更多细节:
http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/index.html?overview-summary.html