我是Java新手,在我们的代码中,我们正在使用GWT。

我们正在使用KeyPressEvent处理Key_Enter请求。但是,对于每个enter请求,似乎都从KeyPressEvent触发了两个事件。但是我希望只有一个事件可以触发,因为我只有一次进入。

以下是我的代码。请检查并让我知道,我们需要更正的任何内容..

void onEnter(KeyPressEvent event)
{
        if(event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER)
        {
           //(seems to times this code is called)
           //Domy stuff
        }
}


如果我使用event.getCharCode()而不是event.getNativeEvent().getKeyCode(),则它仅返回0。

任何想法如何解决。

谢谢,

最佳答案

我更喜欢使用KeyUpEvent,因为用户无法将其与KeyPressEvent区分开,所以这是我的解决方案:

void onKeyUp(KeyUpEvent event) {
  if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
    // Handle key press
  }
}

09-26 01:05