You are on page 1of 13

INSTITUTO TECNOLOGICO SUPERIOR DE

ESCARCEGA
INGENIERIA EN SISTEMAS COMPUTACIONALES

Tpicos Avanzados de
UNIDAD 1: Eventos
Programacin
ACTIVIDAD Investigacin 1.1 - 1.4
PROFESOR: ING. Ivette Stephany Pacheco Farfn

ALUMNO: Br. Alberto Guerrero Hernndez

GRUPO: ISMA-4

ESCARCEGA CAMPECHE A 23 DE FEBRERO DE 2014

INDICE

1.1. Tipos de eventos


1.2. Generacin y propagacin de eventos.

3
5

1.3. Mtodos de control de eventos.

1.4. Creacin de eventos.


Conclusin
Fuentes

8
10
11

1.1. Tipos de eventos


Los eventos son uno de los pilares de la construccin de Interfaces de usuario y
una de las bases de la comunicacin entre objetos.
En trminos de Java, un evento es un objeto que es lanzado por un objeto y
enviado a otro objeto llamado escuchador (listener). Un evento se lanza
(o se dispara, fire) cuando ocurre una determinada situacin (un clic de
ratn, una pulsacin de tecla,...).
Tipos de eventos
Los eventos se dividen en dos clases: de bajo nivel o de componente, y de alto
nivel o semnticos.
1) Eventos de bajo nivel o de componente
Son aquellos que representan una entrada sobre un componente visual de un
sistema de ventanas en la pantalla. Hacer click con el ratn, oprimir una tecla.
La clase Component del AWT, define los mtodos de procesamiento y registro de
escucha para eventos
nivel de componente. Por ejemplo el mtodo
addMouseListener(), que agrega un escucha para recibir eventos del ratn en un
componente,o addKeyListener() para agregar un escucha que reciba eventos del
teclado en un componente.
Todos los eventos a nivel de componente son subclases de java.awt.event, tales
como :

ComponentEvent: Evento de bajo nivel que indica que un componente se ha


movido, cambiado su tamao, o cambiada su visibilidad.
FocusEvent: Evento generado por un componente, que indica que el
componente ha ganado o perdido su enfoque en el teclado.
InputEvent: es la clase raiz para todos los eventos de entrada a nivel de
componente. Los eventos de entrada son despachados a los escuchas antes
que que sean procesados normalmente por las fuentes donde ellos se
generaron.
KeyEvent: indica que se ha presionado una tecla en un componente. Este
evento se genera por un objeto componente, por ejemplo un campo de texto,
cuando una tecla es presionada, suelta, o se genera un carcter con ella
presionndola y soltandola.
MouseEvent: Evento que indica que ha sucedido una accion con el ratn sobre
algn componente. Estas acciones pueden ser: Eventos simples del ratn: un
boton presionado, suelto o liberado, presionado y liberado, el cursor del ratn
entra o sale de un componente. Eventos de movimiento del ratn: el ratn se
ha movido, el ratn se ha movido con un boton presionado (dragged).
ContainerEvent: Evento que indica que el contenido de un contenedor ha
cambiado en virtud de haberse agregado o suprimido un componente.
3

WindowEvent: Evento que indica que una ventana ha cambiado su estado,


por ejemplo cuando se abre, se cierra, se activa o desactiva, cuando se
minimiza (iconified) o restaura (deconified).

2) Eventos semnticos o de alto nivel


Aquellos que representan la funcin o significado de ms alto nivel de un evento,
por ejemplo hacer doble clik con el ratn en una lnea de texto. Los siguientes son
algunos eventos semnticos:
ActionEvent: evento que indica que ha sucedido una accin definida en un
componente, por ejemplo presionar un botn para que realice una funcin
definida para ese componente.
AdjustmentEvent: este evento se genera cuando se ajusta el valor de de un
objeto ajustable
ItemEvent: Este evento indica que un elemento ha sido seleccionado o
deseleccionado, cambiando su estado, por ejemplo en una lista al seleccionar
uno de sus elementos.
TextEvent: evento que indica que un objeto texto por ejemplo TextComponent
ha cambiado su texto.
Interfaz
ActionListener
AdjustmentListener
ComponentListener

ContainerListener
FocusListener
ItemListener
KeyListener

MouseListener

MouseMotionListener
TextListener
WindowListener

Mtodos
actionPerformed(ActionEvent)
adjustmentValueChanged(AdjustementEvent)
componentHidden(ComponentEvent)
componentMoved(ComponentEvent)
componentResized(ComponentEvent)
componentShown(ComponentEvent)
componentAdded(ContainerEvent)
componentRemoved(ContainerEvent)
focusGained(FocusEvent)
focusLost(FocusEvent)
itemStateChanged(ItemEvent)
keyPressed(KeyEvent)
keyReleased(KeyEvent)
keyTyped(KeyEvent)
mouseClicked(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
mouseDragged(MouseEvent)
mouseMoved(MouseEvent)
textValueChanged(TextEvent)
windowActivated(WindowEvent)
windowClosed(WindowEvent)
4

windowClosing(WindowEvent)
windowDeactivated(WindowEvent)
windowDeiconified(WindowEvent)
windowIconified(WindowEvent)
windowOpened(WindowEvent)

1.2. Generacin y propagacin de eventos.

El paquete java.awt.event es el que contiene la mayor parte de las clases e


interfaces de eventos. El modelo de delegacin de eventos es un concepto que
trabaja de la siguiente manera:
Una fuente genera un evento y lo enva a uno a ms oyentes o auditores, que han
estado simplemente esperando hasta que reciben ese evento y una vez recibido lo
procesan y lo devuelven.
Una fuente es un objeto que genera un evento. Esto ocurre cuando cambia de
alguna manera el estado interno de ese objeto. Las fuentes pueden generar ms
de un tipo de eventos.
Una fuente tiene que ir acompaada de auditores para que estos reciban las
notificaciones sobre el tipo especfico de evento, cada tipo de evento tiene su
propio mtodo de registro.
5

Un auditor es un objeto que es avisado cuando ocurre un evento. Tiene dos


requisitos principales. Primero tiene que ser registrado o ir acompaado por una o
ms fuentes para recibir notificaciones sobre los tipos especficos de eventos.
Segundo, tiene que implementar mtodos para recibir y procesar notificaciones.

1.3. Mtodos de control de eventos.


Ejemplos de componentes que pueden generar eventos:
Button.
Genera eventos de accin (ActionEvent) cuando se presiona el botn.
Checkbox.
Genera eventos de elementos (ItemEvent) cuando se selecciona o deselecciona un
checkbox.
Choice.
Genera eventos de elementos cuando se cambia de opcin choice.
List.
Genera eventos de accin cuando se hace doble click sobre un elemento, genera
eventos de elemento cuando se selecciona o deselecciona un elemento.
Menu Item.
Gener eventos de accin cuando se selecciona un elemento de men; genera
eventos del elemento cuando se selecciona o se deselecciona un elemento de un
men de opciones.
Scrollbar.
Genera eventos de ajuste (AdjustmentEvent) cuando se manipula el scrollbar.
Text components.
Genera eventos de texto (TextEvent) cuando el usuario introduce un carcter.
Window.
Genera eventos de ventana (WindowEvent) cuando una ventana se activa, se
cierra, se desactiva, se minimiza, se maximiza, se abre o se sale de ella.
El mtodo handleEvent() es un lugar para que el programador pueda insertar
cdigo para controlar los eventos. A veces, sin embargo, un Componente
solamente estar interesado en eventos de un cierto tipo (por ejemplo, eventos del
ratn). En estos casos, el programador puede colocar el cdigo en un mtodo de
ayuda, en lugar de colocarlo en el mtodohandleEvent().
No hay mtodos de ayuda para ciertos tipos de eventos, aqu est la lista de los
que estn disponibles para los programadores:
action( Event evt,Object obj )
6

gotFocus( Event evt,Object obj )


lostFocus( Event evt,Object obj )
mouseEnter( Event evt,int x,int y )
mouseExit( Event evt,int x,int y )
mouseMove( Event evt,int x,int y )
mouseUp( Event evt,int x,int y )
mouseDown( Event evt,int x,int y )
mouseDrag( Event evt,int x,int y )
keyDown( Event evt,int key )
keyUp( Event evt,int key )
False indicar que el mtodo de ayuda no maneja el evento.
La
implementacin
del
mtodo handleEvent() proporcionada
por
la
clase Component invoca a cada mtodo de ayuda. Por esta razn, es importante
que las implementaciones redefinidas del mtodo handleEvent() en clases
derivadas, siempre finalicen con la sentencia:
return( super.handleEvent( evt ) );
El siguiente trozo de cdigo ilustra esta regla.
public boolean handleEvent( Event evt ) {
if( evt.target instanceof MiBoton )
{
// Hace algo...
return true;
}
return( super.handleEvent( evt ) );
}
No seguir esta regla tan simple har que no se invoquen adecuadamente los
mtodos de ayuda. El appletEventosRaton.java, que controla los eventos de ratn
exclusivamente a travs de cdigo insertado en sus mtodos de ayuda; va
dibujando una lnea (rubber band) entre el ltimo punto donde se ha producido un
click de ratn y la posicin actual del cursor.

1.4. Creacin de eventos.

a) Definir una clase para que los objetos del nuevo tipo de evento puedan ser
instanciados. Debera extender la clase EventObject.
b) Definir un interfaz EventListener para el nuevo tipo de evento. Este interfaz
debera ser implementado por las clases Listener del nuevo tipo y debera
extender a EventListener.
c) Definir una clase Listener que implemente el interfaz para el nuevo tipo de
evento.
d) Definir una clase para instanciar objetos capaces de generar el nuevo tipo
de evento. En el ejemplo que se ver a continuacin, se extiende la clase
Component.
e) Definir un mtodo add<nombre_del_evento>Listener() para que pueda
mantener la lista de objetos Listener registrados para recibir eventos del
nuevo tipo.
f) Definir un mtodo que enve un evento del nuevo tipo a todos los objetos
Listener registrados en la lista anterior, invocando al mtodo de cada uno de
esos objetos. Este mtodo es un mtodo declarado en el interfaz
EventListener para el nuevo tipo de evento.

Para la creacin de eventos es necesario definir sobre que componente se desea


crear dicho evento.
Clases de eventos principales en
java.awt.event Clase de evento
ActionEvent

Descripcin
Se genera cuando se presiona un
botn, se hace doble clic en un
elemento de una lista, o se
selecciona un elemento de tipo
men.

AdjustmentEvent

Se genera cuando se manipula un


scrollbar.

ComponentEvent

Se genera cuando un componente se


oculta, se mueve, se cambia de
tamao o se hace visible.

ContainerEvent

Se genera cuando se aade o se


elimina un componente de un
contenedor.

FocusEvent

Se genera cuando un componente


gana o pierde el foco.

InputEvent

Superclase abstracta de cualquier


clase de evento de entrada de
componente.

ItemEvent

Se genera cuando se hace click en


un checkbox o en un elemento de
una lista; tambin ocurre cuando se
hace una seleccin en una opcin
choice o cuando se selecciona o
deselecciona un elemento de un
men de opciones.

KeyEvent

Se genera cuando se recibe una


entrada desde el teclado.

MouseEvent

Se genera cuando el ratn se


arrastra, se mueve, se hace clic, se
presiona, o se libera; tambin se
genera cuando el ratn entra o sale
de un componente.

TextEvent

Se genera cuando se cambia el valor


de un rea de texto o un campo de
texto

WindowEvent

Se genera cuando una ventana se


activa, se cierra, se desactiva, se
10

minimiza, se maximiza, se abre, o se


sale de ella.

11

CONCLUSION

Comprendimos que un evento es toda aquella situacin que se presenta o


acontecimiento, para un caso prctico en la programacin, ya identificamos que al
presionar una tecla, o cuando movemos el ratn, cuando damos un clic etc.,
cualquier accin que sucede en nuestra aplicacin a partir de realizar cualquiera
de estas actividades e incluso otras ms, se denomina evento.
Al momento en el que se realiza un evento hay un objeto llamado listener que es
el encargado de recibir el evento que se realiz para posteriormente hacer otra
accin en caso de que el mtodo as lo requiera.

12

FUENTES

http://eisc.univalle.edu.co/materias/Programacion_Interactiva/lectur
as/Lectura7.pdf

http://arquimedes.matem.unam.mx/pasados/java_profundizacion/in
dex4.htm

http://proton.ucting.udg.mx/tutorial/java/Cap4/metodev.html

Manual java2

Autor: Jorge Snchez (www.jorgesanchez.net) ao 2004


Basado en el lenguaje Java definido por Sun
(http://java.sun.com)

Como Programar Java


Deitel
9na Edicin

13

You might also like