【问题标题】:KEY_ENTER Handler RootPanel GWTKEY_ENTER 处理程序 RootPanel GWT
【发布时间】:2012-03-21 15:50:50
【问题描述】:

我想知道当用户键入 ENTER 键时如何开发一个处理程序来管理。例如,登录屏幕,您输入您的登录名和密码,然后按 ENTER。是否需要在RootPanel中添加Handler?在一个按钮?我不知道。

提前感谢您的解决方案。

【问题讨论】:

    标签: gwt


    【解决方案1】:

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

       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);
        }
    

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

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

    这为您省去了过滤掉任何不是回车键的按键的繁琐工作。

    【讨论】:

      【解决方案2】:

      在您解释的情况下,应将处理程序添加到 TextBox ,因为它具有焦点,无需添加到 RootPanel 或其他内容。因为当用户按下 Enter 时,无论是否必要都会触发此事件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-10
        • 2010-12-24
        • 1970-01-01
        • 2010-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多