<p>I have the following snippet of code, changeTextArea is a TextArea object.</p>

<pre><code>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
  }
}
</code></pre>

<p>How would I stop the Event that is causing this method to be called from bubbling up from changeTextArea into the Panels/Widgets/Composites/Whatever that contain changeTextArea. Put succinctly, how do I stop it from bubbling any further. Any help would be appreciated (especially code samples).</p>

As far as I know you can't do it via a keyboard listener, but it is possible by adding an event preview using the DOM class:
```
```
DOM.addEventPreview(EventPreview preview)
```
```
Then when you get the event:
```
```
onEventPreview(Event event)
```
```
You should return false, to say you want to cancel the event. The Event object also supports this method:
```
```
public final void cancelBubble(boolean cancel)
```
```
Cancels bubbling for the given event. This will stop the event from being propagated to parent elements.
You can find more details here:
http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/index.html?overview-summary.html