@Override protected void onKeyDown(Event event) { if (event == null || event.isCancelled()) { return; } switch (event.getKeyCode()) { case KeyCodes.KEY_TAB: // IE moves the focus when Tab key is down and thus the key press event doesn't get fired. // If we block // the key down event then IE doesn't fire key press. We are forced to apply out custom // behavior for tab // key now, on key down, and not later, on key press. onTab(event); break; default: super.onKeyDown(event); break; } }