Download Descargar clase Eventos y Notificaciones

Document related concepts
no text concepts found
Transcript
Eventos y Notificaciones en OOP
GUI systems
info033
Eventos - Notificaciones



Existe un sistema en java que gestiona la
orquestación de componentes, ventanas y
eventos.
Cuando tenemos una ventana, también
tenemos eventos de usuario (clicks, escritura,
etc) que ocurren en tiempo real.
El sistema maneja una cola de eventos de
usuario apenas ocurren, los traduce y envía
notificaciones al componente adecuado de la
ventana.
Java SWING EVENTS
Los eventos son una parte importante en las
interfaces gráficas. Todas las aplicaciones
gráficas son “event-driven” (leer sobre
programación orientada a eventos).
Una aplicación reacciona a diferentes eventos
que son creados durante su vida (mientras
está ejecutándose)
Java SWING EVENTS
Los eventos son generados principalmente por
el usuario. Pero también pueden generarse
eventos por otro tipo de factores, por ejemplo
conexión a internet, un timer, etc.
Participantes de los eventos:

Event source

Event object

Event listener
Event source, es el objeto que cambia de
estado (genera el evento). Event object, es el
objeto que se crea cuando ocurre algo en la
aplicación. Event listener, es el objeto que
quiere ser notificado cuando se ejecuta el
evento.
Event object


Cuando algo ocurre en la aplicación un objeto
de tipo Event es creado. Por ejemplo, al
clickear un botón o seleccionar un elemento
de una lista.
Hay una gran cantidad de tipos de eventos
(ActionEvent, TextEvent, FocusEvent, etc) que
son creados bajo condiciones específicas.
Event handling
Hay varias maneras de manejar los eventos:

Anonymous inner class

Inner class

Derived class
Inner class

Clase interior: Se crean generalmente como
clases de ayuda a nuestras clases principales.
Event handling – Anonymous Inner
Class
Identificar Event
source, Event object,
Event listener
Event Handling – Inner Class
Derivated Class
Se debe heredar de Jbutton e implementar ActionListener
Multiples Sources

Un Listener, puede ser conectado a multiples
sources.
A partir de ahora comenzaremos a juntar todo lo
que hemos aprendido para lograr aplicaciones
bien diseñadas y potentes.