sábado, 7 de septiembre de 2013

Manejo de eventos

Manejo de eventos:

Teoría fundamental. Funciones de retro invocación. Manejo de eventos GUI: de acción, de ventana, del ratón y de enfoque.


Primero hay que saber ¿Que es un EVENTO?

Las aplicaciones de Java pueden crear interfaces de usuario, y así permitir que estos últimos lleven a cabo tareas de aplicaciones. Dentro de estas interfaces el código de Java debe ser capaz de responder a la interacción y adaptar el procesamiento a las acciones que el usuario realice. Los eventos de Java son un elemento clave para esta técnica, ya que proporcionan programas con la capacidad para detectar dicha interacción del usuario.


MANEJO DE EVENTOS GUI

Las GUI están controladas por eventos, alguno de estos eventos son, mover el Mouse, seleccionar o escribir en un campo de texto, hacer click en un botón, ya sea en la pantalla o en el Mouse etc..

Cuando ocurre una interacción con el usuario, se envia un mensaje al programa. La información de los eventos de la GUI se almacena en un objeto de la clase que extiende a AWTEvent.

Los Tipos de eventos del paquete java.awt.event se utilizan con componentes de AWT y de Swing. Los tipos de eventos adicionales, específicos para SPNG, se declaran en el paquete javax.swing.event.


El mecanismo de eventos consta de tres partes: 

  • El origen del evento 
  • El objeto del evento 
  • El componente de escucha del evento 




Origen del evento: Es el componente de la GUI especifico con el cual interactua el usuario.


Objeto del evento: Es el encargado de encapsular la información acerca del evento que ocurrió. Esta información incluye una referencia al origen del evento y cualquier información especifica del evento que pueda ser requerida por el objeto escucha.


Objeto escucha: Es un objeto que recibe la notificación del origen del evento cuando este ocurre;en efecto “escucha” a la espera de un evento y se ejecuta en respuesta a ese evento.




El programador debe realizar dos tareas clave para procesar un evento de interfaz grafica de usuario en un programa. 

  • Primero: debe registrar un componente de escucha del evento para el componente de la GUI que se espera que genere ese evento. 
  • Segundo: debe implementar un manejador para ese evento.



Básicamente un componente de escucha para un evento GUI es un objeto de una clase que implementa a una o mas de las “interfaces de componentes” de escucha de eventos de los paquetes java.awt.event yjavax.swing.event.



Cada interfaz de escucha de eventos especifica uno o mas métodos manejadores de eventos que deben declararse en la clase que lo implemente (que implemente dicha interfaz) esto es porque la interfaz al ser abstracta y como toda clase abstracta debe implementar todos sus métodos.



En el momento que ocurre un evento, el componente de la GUI con el que el usuario interactuó notifica a sus componentes de escucha registrados, llamando al método manejador de eventos apropiado de cada componente de escucha.


Ejercicios

1. Realizar un programa (modo Gráfico-Jframe)con 3 botones, de tal forma que cada uno realice un evento diferente:
  • el primer botón, al hacer un click haga cambiar de color la pantalla.
  • el segundo botón, cuando el mouse pase por el botón cambie de color la pantalla.
  • el tercer botón, al hacer click sin soltar haga que la cambie de color la pantalla.
Solución:
No está todo el código del programa completo, pero lo que importa es que funcione el programa, bueno para cada botón nos pide un evento diferente para eso usaremos los siguientes eventos:

primero deben importar algunas librerías.
           import java.awt.Color;
           import java.awt.event.MouseEvent;
           import java.awt.event.MouseListener;
           import java.awt.event.MouseMotionListener;
  • el primer botón, al hacer un click en el botón. MouseClicked()
               private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { 
                   t1.setBackground(Color.red);
     } 

  • el segundo botón, cuando el mouse pase por el botón. MouseEntered()
               private void jButton1MouseEntered(java.awt.event.MouseEvent evt) { 
                   t1.setBackground(Color.blue);
     } 

  • el tercer botón, al hacer click sin soltar el botón.  MouseReleased()
               private void jButton3MouseReleased(java.awt.event.MouseEvent evt) { 
                    t1.setBackground(Color.WHITE);
     }



Compilación de mi Programa:



descarga el programa en el siguiente Link.



1 comentario:

  1. hola, gracias por tu aporte, apenas ando entendiendo esto de eventos xd

    ResponderEliminar