我使用GWT-Ext库为Web应用程序构建GUI。
我想处理NumberField内部的ENTER键。

应该是这样的:

    final NumberField requiredHeight = new NumberField();
    requiredHeight.setValue(125);
    requiredHeight.setAllowBlank(false);
    requiredHeight.setAllowNegative(false);
    requiredHeight.setAllowDecimals(false);
    KeyListener listener = new KeyListener() {

        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode()==13)
                addPortlet(requiredHeight.getValue().intValue());
        }

    };
    requiredHeight.addKeyListener(listener);


但是代码没有任何作用!
我究竟做错了什么?一般来说,将这种处理程序添加到字段的最佳方法是什么?

最佳答案

好,终于解决了。 KeyListener内还有另一个回调函数-componentKeyPress而不是keyPressed。这是正确的代码:

    KeyListener listener = new KeyListener() {
        @Override
        public void componentKeyPress(ComponentEvent event) {
            if(event.getKeyCode()==13)
            {
                addPortlet(requiredHeight.getValue().intValue());
            }
            super.componentKeyPress(event);
        }

    };
    requiredHeight.addKeyListener(listener);

关于java - 处理GWT-Ext的NumberField中ENTER键的回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1547911/

10-10 10:15