Este ensa"o o ru$rica se $asa principalmente en la importancia de los temas " su$temas de la asignatura 0Tópicos Avanzados De Programación12 por lo cual el alumno desarrollara los distintos su$temas de la unidad & llamada 0Eventos12 la importancia que estos implican para la materia2 la .orma de creación de eventos 2 los m/todos de control " los di.erentes tipos de eventos con el .in de lograr comprender su utilidad " en un .uturo pro"ectarlo en los distintos tipos de prcticas o pro"ectos realizados en la misma materia3
Pág. 1
)nid"d 1 Eventos. %n evento es una acción iniciada por el usuario2 "a sea presionar un $otón o editar alg4n texto por lo cual si realizamos alguna acción so$re alg4n elemento de nuestra inter.az se puede decir que se ha logrado generar un evento en dicho elemento3 !os eventos se comenzaron a utilizar mediante las herencias " los m/todos2 pero de$ido a que no era tan sencillo utilizarlos en la ma"or5a de las ocasiones se torna$a complicado3
1.1
Tipos *e Eventos:
+ E,isten v"rios tipos de eventos co'o son: Eventos de "to nive: 6on los que tienen que ver con dar clic7 a los $otones o elegir comandos 8ActionEvent92 cam$iar valores en $arras de desplazamiento 8Ad)ustmentEvent92 elegir valores 8ItemEvents9 o cam$iar el texto 8TextEvent93
Eventos de -"o nive: 6on las acciones elementales que hacen posi$le los eventos de alto nivel " que se producen con las operaciones elementales de los componentes 8ComponentEvent92 con los containers 8ContainerEvent92 con pulsar teclas 8;e"Event92 con todo lo que tenga que ver con el uso del ratón 8MouseEvent92 con o$tener o perder el .ocus 8Event93
Co'ponentEvent: 6e producir este tipo de evento cuando el usuario mueva o redimensione un componente3
%ocusEvent: 6e producir este tipo de evento cuando se cam$ie el .oco de un componente3 El .oco hace re.erencia al componente en el que estamos tra$a)ando3
ouseEvent: 6e producir cuando el usuario e.ect4e un movimiento con el ratón o haga un clic73Tipos de Eventos 3
0indoEvent: se producir cuando se realice alg4n tipo de operación con la ventana como a$rirla " cerrarla3
+
ctionEvent: 6e producir cuando se e.ect4e alguna acción so$re un componente2 como por e)emplo: la presionar un $otón3
Pág. 2.
1.2 Gener"ción prop"g"ción de eventos: Tam$i/n llamado $ur$u)eo de eventos2 control personalizado3 El paquete 0)ava3a>t3event1 es el que contiene la ma"or parte de las clases e inter.aces de eventos3 El modelo de delegación de eventos es un concepto que tra$a)a de la siguiente manera: %na .uente genera un evento " lo env5a a uno a ms o"entes o auditores2 que han estado simplemente esperando hasta que reci$en ese evento " una vez reci$ido lo procesan " lo devuelven3 %na .uente es un o$)eto que genera un evento2 esto ocurre cuando cam$ia de alguna manera el estado interno de ese o$)eto3 !as .uentes pueden generar ms de un tipo de eventos3 %na .uente tiene que ir acompa?ada de auditores para que estos reci$an las noti.icaciones so$re el tipo espec5.ico de evento2 cada tipo de evento tiene su propio m/todo de registro3 %n auditor es un o$)eto que es avisado cuando ocurre un evento3 Tiene dos requisitos principales3 Primero tiene que ser registrado o ir acompa?ado por una o ms .uentes para reci$ir noti.icaciones so$re los tipos espec5.icos de eventos3 6egundo2 tiene que implementar m/todos para reci$ir " procesar noti.icaciones3 !os eventos se generan desde una .uente " se propaga hasta los receptores3
Por ee'po: Cuando se hace clic en un $otón se genera un evento " se propaga realizando alguna acción3 Por e)emplo en una calculadora cuando se hace clic en el $otón @ este puede mostrar el resultado de una suma2 resta2 división o multiplicación
1.3
4todos de contro de eventos:
!os eventos son controlados mediante los m/todos2 esto es2 un m/todo puede hacer o no hacer nada cuando se genera un evento3 De esta .orma se controla la acción de un evento3 El m/todo handleEvent() es un lugar para que el programador pueda insertar código para controlar los eventos3 A veces2 sin em$argo2 un Componente solamente estar interesado en eventos de un cierto tipo 8por e)emplo2 eventos del ratón93 En estos casos2 el programador puede colocar el código en un m/todo de a"uda2 en lugar de colocarlo en el m/todo handleEvent()3 o ha" m/todos de a"uda para ciertos tipos de eventos2 aqu5 est la lista de los que estn disponi$les para los programadores:
false indicar que el m/todo de a"uda no mane)a el evento3 !a implementación del m/todo handleEvent() proporcionada por la clase Co'ponent invoca a cada m/todo de a"uda3 Por esta razón2 es importante que las implementaciones rede.inidas del m/todo handleEvent() en clases derivadas2 siempre .inalicen con la sentencia: return8 super3handleEvent8 evt 9 9B
Por Ee'po: pu$lic $oolean handleEvent8 Event evt 9 i.8 evt3target instanceo. Mi'oton 9 ace algo333 return trueB F return8 super3handleEvent8 evt 9 9BF o seguir esta regla tan simple har que no se invoquen adecuadamente los m/todos de a"uda3 El applet Eventos#aton3)ava2 que controla los eventos de ratón exclusivamente a trav/s de código insertado en sus m/todos de a"udaB va
di$u)ando una l5nea 8rubber band 9 entre el 4ltimo punto donde se ha producido un clic7 de ratón " la posición actual del cursor3
1.!.
Pág. !
Cre"ción de eventos:
Creación de eventos3 Para la creación de eventos es necesario de.inir so$re que componente se desea crear dicho evento En esta lista se encuentra la lista de eventos:
Pág. #. Concusión: En $ase a el tra$a)o "a realizado2 pudimos comprender so$re eventos2 los di.erentes tipos de eventos que e realizan2 a su vez2 se dio a conocer la introducción a una nueva .orma de programar2 "a que como vimos anteriormente2 el empleo de los eventos nos .acilita la .orma de manipular cualquier o$)eto que nosotros como administradores de clase le podamos asignar alg4n tra$a)o2 de esta .orma podremos manipular secciones como lo son el teclado2 mouse etc3 Aun as52 aunque ha"amos a$ordado todos los su$ temas de la unidad &2 espero que con la a"uda de mis compa?eros " la maestra encargada del grupo se pueda dar una explicación ms concisa de lo que aca$amos de investigar para as5 lograr comprender a su totalidad la teor5a " pasar a la etapa practica con las $ases en su totalidad3