KEY_ENTER处理程序RootPanel GWT

Jos*_*dez 0 gwt

我想知道如何开发一个Handler来管理用户键入ENTER密钥.例如,在登录屏幕上,您键入登录名和密码,然后按下ENTER.是否需要在RootPanel中添加Handler?在一个按钮?我不知道.

提前感谢您的解决方案.

Jas*_*ers 5

我经常有机会为enter press注册一个处理程序,所以我经常使用以下抽象类:

   public abstract class EnterKeyHandler implements KeyDownHandler {
    public void onKeyDown(KeyDownEvent event) {
        if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER)
            enterKeyDown(event);
    }
    public abstract void enterKeyDown(KeyDownEvent event);
    }
Run Code Online (Sandbox Code Playgroud)

然后我通过将其注册到所有适当的小部件来实现如下:

EnterKeyHandler doStuffHandler = new EnterKeyHandler() {
        public void enterKeyDown(KeyDownEvent event) {
        doStuff();      }
    };
    someTextBox.addKeyDownHandler(doStuffHandler );
    anotherTextBox.addKeyDownHandler(doStuffHandler );
    yetAnotherTextBox.addKeyDownHandler(doStuffHandler );
Run Code Online (Sandbox Code Playgroud)

这样可以省去过滤任何不是输入键的按键操作的麻烦.