e.consume() 在 java 中做了什么

2022-09-04 20:43:42

我在网上搜索,没有得到关于e.consume()的使用的明确解释,e.consume()经常在java KeyEvent Handle中使用。就像下面的代码一样。

public void keyTyped( KeyEvent e ) {
    char c = e.getKeyChar();
    if ( c != KeyEvent.CHAR_UNDEFINED ) {
        s = s + c; 
        repaint();
        e.consume();
    } 
}

答案 1

来自 JavaDocs

使用此事件,以便发起此事件的源不会以默认方式处理此事件。

从本质上讲,这意味着您不希望将事件调度到任何其他事件侦听器或由任何其他事件侦听器处理。

虽然,一般来说,这取决于各个听众的实现。


答案 2

查看文档:从 InputEvent 类继承方法。use 方法使用此事件,以便发起该事件的源不会以默认方式处理该事件KeyEventconsume


推荐