GWTアプリでキーボードショートカットを設定
概要
キーボードショートカットを実装するには、画面のどの要素がアクティブな時でもキーイベントをハンドルする必要がある。
widget.addKeyDownHandler(...)では実装できない。
EventクラスにNativePreviewHandlerを追加することで実現する。
参考:https://groups.google.com/forum/#!topic/google-web-toolkit/Pmq8OF77RTM
Main.java
public void onModuleLoad() { Event.addNativePreviewHandler(new Event.NativePreviewHandler() { public void onPreviewNativeEvent(NativePreviewEvent event) { NativeEvent ne = event.getNativeEvent(); if (KeyUpEvent.getType().getName() != ne.getType()) return; switch (ne.getKeyCode()) { case KeyCodes.KEY_A: fireCommand1(); break; case KeyCodes.KEY_ENTER: fireCommand2(); break; } } }); }