Usuario:ManuelRomero/eventos

De WikiEducator
Saltar a: navegación, buscar
Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg



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) Java evento1.jpg.png 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)
Por lo tanto tenemos tres objetos
El Source
El Event
El Listener