2012-09-23 309 views
6

Busco en línea y no obtengo una explicación clara sobre el uso de e.consume() que se utiliza a menudo en java KeyEvent Handle.Me gusta el siguiente código.¿Qué hace el uso de e.consume() en java

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

Respuesta

2

Es un método de la clase AWTEvent. Se usa para consumir el evento this, si se puede consumir.

¿Has visto AWTEvent.consume()?

Además, mira How Does consume() Work? para una explicación sobre qué exactamente consume.

+0

¿El consumo significa terminar este evento? – user1456170

+0

No. Significa que el evento no se enviará a ningún otro oyente del evento. –

+0

Parece que estaba pegajoso por una palabra simple. Ahora lo entiendo. Aprecio por la repetición de cualquier persona. Especialmente tuyo. – user1456170

2

Mire documentation: KeyEvent hereda el método consume de InputEvent clase. El método de consumo consume este evento para que no se procese de manera predeterminada por la fuente que lo originó.

5

Desde el JavaDocs

Consume este evento de manera que no se procesará en la forma predeterminada por la fuente que lo originó.

Esencialmente lo que significa es que no desea que el evento sea enviado a ningún otro oyente de eventos.

Si no recuerdo mal, se distribuyen eventos en el pasado en primer lugar la moda

2

Consumir función es responsable por no procesar el código KeyListeners durante algún tipo específico de eventos suceden. Por ejemplo: si quiero hacer un textfield en java de manera que solo responda cuando se presionen dígitos, entonces puedo usar el método de consumo para consumir (no procesar los keyevents que no fueron causados ​​debido a la presión de dígitos) tales eventos .