GWT - 可靠地从keypress中的keycode获取unicode值

时间:2014-03-04 04:02:04

标签: gwt

我需要获取GWT中特定keydown事件的unicode值。到目前为止我看到的所有引用建议做类似char c = (char)keyCode的事情,但是这似乎不起作用(不产生我期望的字符串/字符串 - 特别是当输入是日语时)

我的代码如下:

DOM.setEventListener(documentElement, new EventListener() {

            public void onBrowserEvent(Event event) {
                int keycode = event.getKeyCode();

                   char c=(char)keyCode;     
                   String insertText = String.valueOf(c);
                   // Next I insert the string into the DOM as a text node.

            }
        });


        DOM.sinkEvents(documentElement, Event.ONKEYDOWN);

我需要确保insertText的值对应于用户在敲击键盘或使用IME输入编辑器输入日语字符时希望插入的内容。

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试使用KeyCodeEvent#getNativeKeyCode()获取本机密钥代码。这些密钥代码在KeyCodes类中列举。

char ch = (char)keyDownEvent.getNativeKeyCode()

请查看在相同背景下提出的帖子Mnemonics in GWT

答案 1 :(得分:1)

KeyDown和KeyUp是关于键盘上按下的键。如果您对由这些键产生的更多高级事件感兴趣(并且可能将它们组合在一起,例如ShiftA产生大写A),那么请听KeyPress事件。