试图获取ENTER键的char代码

zii*_*web 3 java gwt

我有这个代码:

newSymbolTextBox.addKeyPressHandler(new KeyPressHandler() {
  public void onKeyPress(KeyPressEvent event) {
      System.out.println("foo =" + KeyCodes.KEY_ENTER);
  System.out.println("bar =" + event.getCharCode());
  }
});
Run Code Online (Sandbox Code Playgroud)

当我按下ENTER时,我得到这个输出:

foo =13
bar =
Run Code Online (Sandbox Code Playgroud)

之后我期待一个价值bar =.任何的想法?

Tyl*_*ler 8

事实上,价值就在那里.你没有看到任何东西的原因是因为这个角色是回车.我相信回车只会移动下一行(你可以谷歌它的确切功能).如果你谷歌"ascii表"你会看到你得到的13 KeyCodes.KEY_ENTER对应CR,回车符.


Jus*_*ᚄᚒᚔ 8

您需要使用event.getNativeEvent().getKeyCode()或切换到KeyDownHandler.

newSymbolTextBox.addKeyPressHandler(new KeyDownHandler() {
  public void onKeyDown(KeyDownEvent event) {
      System.out.println("foo =" + KeyCodes.KEY_ENTER);
      System.out.println("bar =" + event.getNativeKeyCode());
  }
});
Run Code Online (Sandbox Code Playgroud)

请参阅http://code.google.com/p/google-web-toolkit/issues/detail?id=5558