You are on page 1of 5

Instituto Tecnolgico de Cuautla.

Tema: 1.1 Tipos de eventos 1.2 Generacin y propagacin de eventos

Asignatura:

Tpicos Avanzados de Programacin.

Docente:

Mtra. Claudia Itsel Casique Garca.

Alumno(s):

Jos Alberto Ruiz Garca.

Fecha de entrega: 02 de Febrero de 2012

1.1 TIPOS DE EVENTOS CLASE EVENT Un contenedor soltado en un entorno grfico se convierte en rpido receptor de eventos de todo tipo, singularmente de los relacionados con el movimiento del ratn, pulsaciones de teclas, creacin/movimiento/destruccin de partes grficas y, por ltimo, los referidos a acciones del usuario respecto de componentes (eleccin de un men, pulsacin de un botn, etc.). La clase Event es el jugador principal en el juego de los eventos. Intenta capturar las caractersticas fundamentales de todos los eventos que genera el usuario. Los datos miembro de la clase Event son los que se indican a continuacin: Id: El tipo de evento que se ha producido target: Componente sobre el que se ha producido el evento x, y: Las coordenadas en donde se ha producido el evento relativas al Componente que actualmente est procesando ese evento. El origen se toma en la esquina superior izquierda del Componente key: Para eventos de teclado, es la tecla que se ha pulsado. Su valor ser el valor Unicode del carcter que representa la tecla. Otros valores que puede tomas son los de las teclas especiales como INICIO, FIN, F1, F2, etc. when: Instante en que se ha producido el evento modifiers: La combinacin aritmtica del estado en que se encuentran las teclas modificadoras Mays, Alt, Ctrl. ClickCount: El nmero de clicks de ratn consecutivos. Slo tiene importancia en los eventos MOUSE DOWN arg: Es un argumento dependiente del evento. Para objetos Button, este objeto arg es un objeto String que contiene la etiqueta de texto del botn evt: El siguiente evento en una lista encadenada de eventos

TIPOS DE EVENTOS Los eventos se catalogan por su naturaleza, que se indicar en el miembro id de su estructura. Los grandes grupos de eventos son: Eventos de Ventana Son los que se generan en respuesta a los cambios de una ventana un frame (Es una superficie de pantalla de alto nivel o una ventana con borde y ttulo, ejemplo barra de menu) o un dialogo.

WINDOW DESTROY WINDOW EXPOSE WINDOW ICONIFY

WINDOW DEICONIFY WINDOW MOVED

1. Eventos de Teclado Son generados en respuesta a cuando el usuario pulsa y suelta una tecla mientras un Componente tiene el foco de entrada.

KEY PRESS KEY RELEASE

KEY ACTION KEY ACTION RELEASE

2. Eventos de Ratn Son los eventos generados por acciones sobre el ratn dentro de los lmites de un Componente.

MOUSE DOWN MOUSE UP

MOUSE MOVE MOUSE ENTER

MOUSE EXIT MOUSE DRAG

3. Eventos de Barras Son los eventos generados como respuesta a la manipulacin de barras de desplazamiento (scrollbars).

SCROLL LINE UP SCROLL LINE DOWN SCROLL PAGE UP

SCROLL PAGE DOWN SCROLL ABSOLUTE

4. Eventos de Lista Son los eventos generados al seleccionar elementos de una lista.

LIST_SELECT LIST_DESELECT

5. Eventos Varios Son los eventos generados en funcin de diversas acciones.


ACTION EVENT LOAD FILE SAVE FILE

GOT_FOCUS (cursor sobre el objeto) LOST_FOCUS (peder cursor)

1.2 Generacin y propagacin de eventos Cuando un usuario interacta con el applet (aplicacin que se ejecuta en el contexto de otro programa), el sistema Java crea una instancia de la clase Event y rellena su dato miembro con la informacin necesaria para describir la accin. Es en ese momento cuando el sistema Java permite al applet controlar el evento. Este control comienza por el Componente que recibe inicialmente el evento (por ejemplo, el botn que ha sido pulsado) y se desplaza hacia arriba en el rbol de Componentes, componente a componente, hasta que alcanza al Contenedor de la raz del rbol. Durante este camino, cada Componente tiene oportunidad de ignorar el evento o reaccionar ante l en una (o ms) de las formas siguientes:

Modificar los datos miembros de la instancia de Event Entrar en accin y realizar clculos basados en la informacin contenida en el evento Indicar al sistema Java que el evento no debera propagarse ms arriba en el rbol

El mtodo handleEvent() es un lugar para que el programador pueda insertar cdigo para controlar los eventos. El sistema Java pasa informacin del evento a un Componente a travs del mtodo handleEvent() del Componente. Todos los mtodos handleEvent() deben ser de la forma: public boolean handleEvent( Event evt ) Un controlador de eventos solamente necesita una informacin: una referencia a la instancia de la clase Event que contiene la informacin del evento que se ha producido. El valor devuelto por el mtodo handleEvent() es importante. Indica al sistema Java si el evento ha sido o no completamente controlado por el controlador. Un valor true indica que el evento ha sido controlado y que su propagacin debe detenerse. Un valor false indica que el evento ha sido ignorado, o que no ha sido controlado en su totalidad y debe continuar su propagacin hacia arriba en el rbol de Componentes. El sistema Java contina de este mismo modo hasta que el evento es controlado en su totalidad o ya no hay Componentes a los que informar. En la figura siguiente mostramos el camino recorrido por el evento en su intento de que algn Componente lo controle.

Cada Componente del applet aade una lnea al objeto TextArea indicando que ha recibido un evento. Luego permite que el evento se propague al siguiente Componente.

EJEMPLO Consta de dos instancias de la clase Button, embebidas dentro de una instancia de la clase Panel. Esta instancia est a su vez embebida dentro de otra instancia de la clase Panel. Esta ltima instancia de la clase Panel est situada junto a una instancia de la clase TextArea, y ambas estn embebidas dentro de una instancia de la clase Applet. La figura siguiente presenta los elementos que conforman este applet en forma de rbol, con el TextArea y Button como hojas y la instancia de Applet como raiz.

You might also like