如何将KeyPressHandler扩展到所有被调用的类?

时间:2016-06-02 13:40:35

标签: java gwt smartgwt

我使用SmartGWT制作了我的应用程序的GUI。 如果我将这样的KeyPressHandler添加到我的主布局中,我怎样才能在所有其他被调用的类(新布局)中使用它。

layout.addKeyPressHandler(new KeyPressHandler() {

        @Override
        public void onKeyPress(com.smartgwt.client.widgets.events.KeyPressEvent event) {
            if (event.getKeyName() != null) {
                if (event.getKeyName().equals("f1")) {
                    /*...*/
                }

            }
        }
    });

1 个答案:

答案 0 :(得分:0)

就像@ColinAlworth在他的评论中所说,如果你将事件附加到GUI中的Root布局,那么他的所有孩子都会在事件发生时触发事件。

此外,如果您按照以下方式进行检查:

if ("f1".equals(event.getKeyName())) {
     /*...*/
}

你不需要检查空值。