Enter イベントをタブ イベントのように動作させたいテキスト ウィジェットがあります。そのため、キー プレス イベントをキャプチャし、タブ ネイティブ イベントを発生させます。
ただし、タブの動作はアプリケーションに反映されません。イベントハンドラのコードは
public void onKeyPress(KeyPressEvent event) {
int keyCode = event.getNativeEvent().getKeyCode();
if (keyCode == KeyCodes.KEY_ENTER) {
NativeEvent nativeEvent =
Document.get().
createKeyPressEvent(false,false,false,false,KeyCodes.KEY_TAB );
DomEvent.fireNativeEvent(nativeEvent, this, this.getElement());
}
非推奨の createKeyPressEvent をより多くの引数で使用すると、タブ イベントが発生しますが、動作はタブ キーを押したときとは異なり、次のウィジェットに移動します。新しいコードは、createKeyPress イベント行で上記のコードから次のように変更されます。
NativeEvent nativeEvent =
Document.get().
createKeyPressEvent(false,false,false,false,
KeyCodes.KEY_TAB ,KeyCodes.KEY_TAB);