I often have occasion to register a handler for enter presses, so I use the following abstract class often:
public abstract class EnterKeyHandler implements KeyDownHandler {
public void onKeyDown(KeyDownEvent event) {
if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER)
enterKeyDown(event);
}
public abstract void enterKeyDown(KeyDownEvent event);
}
And then I implement it as follows by registering it with all appropriate widgets:
EnterKeyHandler doStuffHandler = new EnterKeyHandler() {
public void enterKeyDown(KeyDownEvent event) {
doStuff(); }
};
someTextBox.addKeyDownHandler(doStuffHandler );
anotherTextBox.addKeyDownHandler(doStuffHandler );
yetAnotherTextBox.addKeyDownHandler(doStuffHandler );
This saves you the chore of filtering out any key press that is not an enter key.