|
![]() |
Receptores de Eventos |
Anterior | Siguiente |
Un interfaz EventListener tendrá un
método específico para cada tipo de evento distinto que trate la clase de evento. Por
ejemplo, el interfaz FocusEventListener define los métodos focusGained() y focusLost(),
uno para cada tipo de evento que trata la clase FocusEvent. Los interfaces de bajo nivel que define la versión del JDK 1.2 son los siguientes: java.util.EventListener java.awt.event.ComponentListener java.awt.event.ContainerListener java.awt.event.FocusListener java.awt.event.KeyListener java.awt.event.MouseListener java.awt.event.MouseMotionListener java.awt.event.WindowListener Si se compara esta lista con la lista anterior de clases de eventos de bajo nivel, se ve claramente que hay definido un interfaz receptor por cada una de las clases más bajas en jerarquía de las clases de eventos, excepto para la clase MouseEvent en que hay dos interfaces receptores diferentes. Los interfaces de nivel semántico que define el AWT en la versión del JDK 1.2 son: java.util.EventListener java.awt.event.ActionListener java.awt.event.AdjustmentListener java.awt.event.ItemListener java.awt.event.TextListener La correspondencia aquí entre interfaces de nivel semántico y clases evento de nivel semántico es uno a uno. Como los receptores se registran para manejar tipos de eventos determinados, solamente serán notificados de esos tipos de eventos y no llegarán a ellos otros tipos de eventos para los que no están registrados. Esto es justamente lo contrario a lo que se utilizaba en el modelo de Propagación, en donde todos los eventos se pasaban a un controlador de eventos, fuesen de su interés o no. Este filtrado de eventos mejora el rendimiento, especialmente con los eventos que se producen con mucha frecuencia, como son los de movimiento del ratón. |
|