La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Orientada a Objetos

Presentaciones similares


Presentación del tema: "Programación Orientada a Objetos"— Transcripción de la presentación:

1 Programación Orientada a Objetos
Unidad V – Interfaz Gráfica de Usuario en Java Programación Orientada a Objetos Programación I

2 Programación Orientada a Objetos Contenido
Esta lección abarca los siguientes temas con respecto a Java: ¿Qué es un evento? Tipos de eventos. Relación entre componentes y eventos. Origen de los eventos. Modelo de manejo de eventos. Ejemplos.

3 Programación Orientada a Objetos ¿Qué es un evento?
Por medio de los eventos se establece la comunicación entre el usuario y la aplicación; cada vez que el usuario necesita realizar una acción, él mismo genera un evento que debe ser atrapado por la aplicación para dar respuesta a la solicitud del usuario ante el evento generado. ¿Qué es un evento? Un evento es una encapsulación de información que puede ser envíada a la aplicación de manera asíncrona. Los eventos pueden corresponder a acciones físicas (ratón y teclado) y acciones lógicas. La mayoría de los eventos se generan de forma automática ante las acciones del usuario (Mouse/Teclado), pero si el evento no es tratado por la aplicación el usuario no obtendrá respuesta a su solicitud

4 Programación Orientada a Objetos ¿Qué es un evento?
¿Con cuáles clases se manipulan los eventos? Java.util.EventObject es la clase padre de todos los eventos, su subclase java.awt.event es la clase padre de todos los eventos AWT. Jerarquía de clases

5 Programación Orientada a Objetos ¿Qué es un evento?
Algunas interacciones comunes entre el usuario y una GUI, son las del movimiento del mouse, hacer clic en un botón, tipear un campo de texto, seleccionar un ítem de un menú, cerrar una ventana, entre otras. Cuando un usuario interactúa, ocurre un evento que es enviado al programa. La información del evento es almacenada en un objeto de una clase que hereda de AWTEvent.

6 Programación Orientada a Objetos Tipos de eventos
Los eventos de Java pueden ser de alto y bajo nivel. Los eventos de alto nivel se llaman también eventos semánticos, porque la acción de la que derivan tiene un mayor significado, ejemplo: hacer clic en un botón. Son eventos de alto nivel los siguientes: los que tienen que ver con hacer clic sobre botones o elegir comandos en menús (ActionEvent), cambiar valores en barras de desplazamiento (AdjustmentEvent), elegir valores (ItemEvents) y cambiar el texto (TextEvent). Los eventos de bajo nivel son las acciones elementales que hacen posible los eventos de alto nivel. Son los que se producen con operaciones elementales con el ratón, teclado, containers y windows.

7 Programación Orientada a Objetos Tipos de eventos
Eventos Físicos: ComponentEvent Esconder, mover, redimensionar, mostrar ContainerEvent Añadir o eliminar un componente FocusEvent Obtener o perder el Focus KeyEvent Pulsar, liberar o teclear una tecla MouseEvent Entrar, salir, pulsar, soltar o hacer click MouseMotionEvent Arrastrar o mover WindowEvent Maximizar, minimizar, abrir, cerrar, activar o desactivar

8 Programación Orientada a Objetos Tipos de eventos
Eventos Semánticos: ActionEvent Una acción se ha ejecutado AdjustmentEvent Un valor se ha ajustado ItemEvent Un estado ha cambiado TextEvent Un texto ha cambiado

9 Programación Orientada a Objetos Relación entre componentes y eventos

10 Programación Orientada a Objetos Origen de los eventos

11 Programación Orientada a Objetos Origen de los eventos

12 Programación Orientada a Objetos Modelo de manejo de eventos
¿Cómo tratar eventos? Para que una aplicación pueda dar respuesta antes las solicitudes del usuario, es necesario que haga el tratamiento de eventos. Para ello existen: event source event listener event object La forma de tratar los eventos, es que cada objeto que necesite gestionar un evento (event source) registre una escuchadora que se encargue de realizar dicha gestión del evento (event listener). Esto se hace con un método que tiene la forma: El Tipo de Listener a ser agregado, Ejemplos: addMouseListener addActionListener addKeyListener El objeto encargado de tratar el evento. Debe implementar la interfaz del Listener correspondiente El objeto sobre el cual se generará el evento eventSourceObject.addEventListener(eventListenerObject);

13 Programación Orientada a Objetos Modelo de manejo de eventos
¿Cómo tratar eventos? El event object encapsula información del evento que ocurre. Esta información incluye una referencia al event source y cualquier información del evento que puede ser requerida por el escuchador de eventos para el manejador del mismo. En resumen: El event source es el particular componente GUI con el cual el usuario interactúa. El escuchador de eventos (event listener) es un objeto que es notificado por el event source cuando un evento ocurre y recibe un event object. eventSourceObject.addEventListener(eventListenerObject);

14 Programación Orientada a Objetos Modelo de manejo de eventos
¿Cómo tratar eventos? El manejo de eventos se consigue mediante el uso de interfaces definidos en el paquete java.awt.event ActionListener KeyListener TextListener WindowListener MouseListener ItemListener Existen tres componentes importantes a la hora de capturar y manipular un evento: La interface que maneja el evento. La clase adaptadora del evento. El método que implementa el evento.

15 Programación Orientada a Objetos Modelo de manejo de eventos
Ejemplo: La interfaz que implementa la escuchadora La clase Adaptadora El método que se va a implementar Nombre del Evento

16 Programación Orientada a Objetos Modelo de manejo de eventos
Ejemplo: El objeto encargado de tratar los eventos de ventana. En muchos casos no es necesario guardar la referencia al objeto Se agrega al this (FrameCerrable) un objeto encargado de tratar los eventos de ventana Definición de la clase encargada de tratar los eventos de ventana La Clase implementa la interfaz WindowListener, para que pueda manipular los eventos generados por ventanas Aunque no se necesite atrapar ningún otro evento de ventana, es necesario redefinir los demás métodos abstractos de la interfaz WindowListener para no hacer nada; ya que de lo contrario la Clase CloseEvent se convertiría en una clase abstracta Se redefine el método windowClosing, el cuál es activado cuando el usuario intenta cerrar la ventana El código a ser ejecutado cuando se genere el evento

17 Programación Orientada a Objetos Modelo de manejo de eventos
¿Cómo tratar eventos? El programador debe realizar 2 tareas para tratar eventos de una GUI en un programa: Registrar un escuchador de eventos, para el componente GUI que se espera que genere un evento; y La implementación de un método (o métodos) manejador(es) de eventos, comúnmente llamados event handlers. Un escuchador de eventos para un evento de una GUI, es un objeto de una clase que implementa una o más interfaces de escuchadores de eventos del paquete java.awt.event y javax.swing.event.

18 Programación Orientada a Objetos Modelo de manejo de eventos
¿Cómo tratar eventos? Java proporciona ayudas para definir los métodos declarados en las interfaces Listener. Una de éstas ayudas son las clases Adapter, que existen para cada una de las interfaces Listener que tienen más de un método. Su nombre se construye a partir del nombre de la interface, sustituyendo la palabra “Listener” por “Adapter”. Hay 7 clases Adapter: ComponentAdapter, ContainerAdapter, FocusAdapter, KeyAdapter, MouseAdapter, MouseMotionAdapter y WindowAdapter.

19 Programación Orientada a Objetos Modelo de manejo de eventos
¿Cómo tratar eventos? Las clases Adapter derivan de Object y son clases predefinidas que contienen definiciones vacías para todos los métodos de la interface. Para crear un objeto que responda al evento, en vez de crear una clase que implemente la interface Listener, basta crear una clase que derive de la clase Adapter correspondiente, y redefina sólo los métodos de interés. A continuación se presenta un ejemplo.

20 Programación Orientada a Objetos Modelo de manejo de eventos
Ejemplo: Objeto Manejador del Evento Agregar un Evento a la Ventana Clase Manejadora Extiende WindowAdapter Método de Interés

21 Programación Orientada a Objetos Modelo de manejo de eventos
Interfaces escuchadoras de eventos

22 Programación Orientada a Objetos Modelo de manejo de eventos
Interfaces escuchadoras de eventos

23 Programación Orientada a Objetos Modelo de manejo de eventos
Interfaces escuchadoras de eventos

24 Programación Orientada a Objetos Modelo de manejo de eventos
Interfaces escuchadoras de eventos

25 Programación Orientada a Objetos Modelo de manejo de eventos
Otra forma de implementar eventos Como los eventos dependen de la implementación de métodos dentro de una interface, otra forma de hacer eventos es implementando la interfaz en la clase dada. La dificultad radica en que si una interfaz tiene muchos métodos a implementar, se mostrarían todos en la clase que estamos construyendo.

26 Programación Orientada a Objetos Modelo de manejo de eventos
Implementación de la interface Otra forma de implementar eventos Método de Interés Métodos de la interface

27 Programación Orientada a Objetos Modelo de manejo de eventos
La interfaz que implementa el escuchador Ejemplos con Button No posee clase adaptadora, se debe crear objeto anónimo de la escuchadora El método que se va a implementar Nombre del Evento

28 Programación Orientada a Objetos Modelo de manejo de eventos
Objeto de la clase interna Ejemplo con Button Se le configura la escuchadora a cada botón y se le envía el objeto anterior El objeto anterior se puede enviar también anónimo Clase interna que implementa la interface escuchadora El método que se va a implementar Nombre del Evento

29 Programación Orientada a Objetos Modelo de manejo de eventos
Ejemplo con TextField La interfaz que implementa el escuchador No posee clase adaptadora, se debe crear objeto anónimo de la escuchadora El método que se va a implementar Nombre del Evento

30 Programación Orientada a Objetos Modelo de manejo de eventos
Ejemplo con TextField

31 Programación Orientada a Objetos Modelo de manejo de eventos
Ejemplo con TextField Objeto de la clase interna Se le configura la escuchadora a cada textField y se le envía el objeto anterior Clase interna que implementa la interface escuchadora El método que se va a implementar Nombre del Evento

32 Programación Orientada a Objetos Modelo de manejo de eventos
Ejemplo con Label La interfaz que implementa el escuchador Se debe crear objeto anónimo de la clase Adaptadora Métodos que se van a implementar Nombre del Evento

33 Programación Orientada a Objetos Modelo de manejo de eventos
Ejemplo con Label

34


Descargar ppt "Programación Orientada a Objetos"

Presentaciones similares


Anuncios Google