我想知道如何开发一个Handler来管理用户键入ENTER密钥.例如,在登录屏幕上,您键入登录名和密码,然后按下ENTER.是否需要在RootPanel中添加Handler?在一个按钮?我不知道.
提前感谢您的解决方案.
我经常有机会为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)
这样可以省去过滤任何不是输入键的按键操作的麻烦.