マイペースなプログラミング日記

x86エミュレータやFPGA、WebGLにお熱なd-kamiがマイペースに書くブログ

KeyboardListener解決?

GWTDeveloper Forumで検索したらFocusPanelの上にLabelを置いてもキーには反応しないような書き込みがいくつかあった。そして、それを解決するにはEventPreviewを使う必要があるらしい。onEventPreviewはあらゆるイベントの前に呼び出されるから自分でイベントの種類を判断する必要があるそうな。とりあえず、キーが押されたときにアラートを表示するソースをだしとく。Developer Forumに書いてあったのをそのままコピペだけど

DOM.addEventPreview(new EventPreview(){
    public boolean onEventPreview(Event event) {
        if ((DOM.eventGetType(event) & Event.ONKEYPRESS) != 0)
            Window.alert("KeyPress Event");

        return true;
    }
});