1.2. Generación Y Propagación De Eventos
Enviado por ponchio182 • 18 de Febrero de 2013 • 693 Palabras (3 Páginas) • 957 Visitas
GENERACIÓN DE EVENTOS
Tomemos el applet, EventosPro.java, que aparece en la figura siguiente. Consta de dos instancias de la clase Button, embebidas dentro de una instancia de la clase Panel. Esta instancia está a su vez embebida dentro de otra instancia de la clase Panel. Esta última instancia de la clase Panel está situada junto a una instancia de la clase TextArea, y ambas están embebidas dentro de una instancia de la clase Applet.
La figura siguiente presenta los elementos que conforman este applet en forma de árbol, con el TextArea y Button como hojas y la instancia de Applet como raiz.
Cuando un usuario interactúa con el applet, el sistema Java crea una instancia de la clase Eventy rellena sus datos miembro con la información necesaria para describir la acción. Es en ese momento cuando el sistema Java permite al applet controlar el evento. Este control comienza por el Componente que recibe inicialmente el evento (por ejemplo, el botón que ha sido pulsado) y se desplaza hacia arriba en el árbol de Componentes, componente a componente, hasta que alcanza al Contenedor de la raíz del árbol. Durante este camino, cada Componente tiene oportunidad de ignorar el evento o reaccionar ante él en una (o más) de las forma siguientes:
o Modificar los datos miembros de la instancia de Event
o Entrar en acción y realizar cálculos basados en la información contenida en el evento
o Indicar al sistema Java que el evento no debería propagarse más arriba en el árbol
El sistema Java pasa información del evento a un Componente a través del métodohandleEvent() del Componente. Todos los métodos handleEvent() deben ser de la forma:
publicbooleanhandleEvent( Eventevt )
Un controlador de eventos solamente necesita una información: una referencia a la instancia de la clase Event que contiene la información del evento que se ha producido.
El valor devuelto por el método handleEvent() es importante. Indica al sistema Java si el evento ha sido o no completamente controlado por el controlador. Un valor true indica que el evento ha sido controlado y que su propagación debe detenerse. Un valor false indica que el evento ha sido ignorado, o que no ha sido controlado en su totalidad y debe continuar su propagación hacia arriba en el árbol de Componentes.
Veamos la descripción de una acción con el applet de la figura anterior. El usuario pulsa el botón "Uno". El sistema run-time del lenguaje Java capturará la información sobre el evento (el número de clicks, la localización del click, la hora en que se ha producido la pulsación y el Componente que ha recibido el click) y empaqueta
...