Usuario:ManuelRomero/eventos
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
Eventos
- Un 'evento' es una acción o suceso que ocurre sobre un objeto que es sensible a dicha acción
- Ejemplo de un evento
- Hacer un click sobre un botón
- pasar el cursor del ratón por encima de un elemento de mi pantalla
- Un porceso le envía una señal a la impresora de que quiere imprimir
- Es típico de la programación visual que esté conducida por eventos
- Ahora el programa ya no tiene una secuación lógica de instrucciones para se ejecutada, no sigue un camino marcado
- El programa presenta una interfaz gráfica una serie de elementos gráficos u objetos
- El usuario de la aplicación en función de lo que quiera hacer realiza acciones en la interfaz gráfica
- La interfaz gráfica identifica esas acciones o eventos y ejecuta código asociado a dichas acciones
- Por lo tanto la ejecución del programa dependerá de los eventos que se vayan produciendo, el programa se presenta como una interfaz que está esperando a que ocurran enventos, ocurre un evento ejecuto un código asocido de alguna manera a dicho evento y de nuevo el programa se queda en estado de espera a que ocurra otro evento
Delegación de eventos en Java
No todos los entornos de desarrollo gestionan los eventos de igual manera. Java realiza la gestión de eventos delegando, y se conoce como 'delegacion de eventos' por qué se conoce con este nombre: hasta ahora vemos en este escenario dos elementos: el evento que se produce El objeto sobre el que se produce el evento que es quien va a generarlo esta frase no nos debe confundir. Efectivamente el evento se ha producido por que un usuario a realizado una acción sobre un objeto, es el usuario el que ha originado o provocado el evento, pero en el sistema el evento lo va a generar el objeto sobre el que se ha producido.pongamos un ejemplo para verlo.
Evento, y source del evento
Tengo un botón de timbre. una persona (usuario) llega a la puerta y presiona el botón del timbre (objeto) y el timbre provoca un ruido (evento) Podemos analizar el escenario y observar:
- 1 elemento externo a mi programa
(usuario) quien ha provocado el evento
- dentro del programa tendo dos elemntos
- Evento que se produce suena el timbre
- Objeto source de dicho evento el bóton genera un sonido de timbre'
- Ahora pueden ocurrir dos cosas: siguiendo con el ejemplo (suponemos que es el timbre de una casa)
- Que no hay nadie dentro de casa y el sonido se pierde, nadie lo oye y por lo tanto nadie hace nada
- Que hay una persona dentro de casa y está escuchando oye el sonido del tiembre y actua abriendo la puerta
- Que hay una persona en casa pero no está escuchando ya que por ejemplo lleva cascos (En realidad es igual que el caso primero, es como si no hubiera)
- Entonces aparece el concepto de delegación de eventos
- El botón ha generado el evento ring y este delega el evento en un escuchador
- si hay un objeto escuchando a ese objeto actuará en consecuencia
- si no hay objeto escuchando o lo hay pero no lo hace a ese objeto, el evento se pierde, (nadie actúa ante él)
- El botón ha generado el evento ring y este delega el evento en un escuchador
- Por lo tanto tenemos tres objetos
- El Source
- El Event
- El Listener