Investigacion de Topicos Avanzados de Programacion

5
 Instituto Tecnológico de Cuautla. Tema: 1.1 Tipos de eventos 1.2 Generación y propagación de eventos Asignatura: Tópicos Avanzados de Programación. Docente: Mtra. Claudia Itsel Casique García. Alumno(s): José Alberto Ruiz García. Fecha de entrega: 02 de Febrero de 2012

Transcript of Investigacion de Topicos Avanzados de Programacion

Page 1: Investigacion de Topicos Avanzados de Programacion

5/17/2018 Investigacion de Topicos Avanzados de Programacion - slidepdf.com

http://slidepdf.com/reader/full/investigacion-de-topicos-avanzados-de-programacion 1/5

 

Instituto Tecnológico de Cuautla.Tema:

1.1 Tipos de eventos

1.2 Generación y propagación de eventos

Asignatura:

Tópicos Avanzados de Programación. 

Docente:

Mtra. Claudia Itsel Casique García.

Alumno(s):

José Alberto Ruiz García. 

Fecha de entrega: 02 de Febrero de 2012

Page 2: Investigacion de Topicos Avanzados de Programacion

5/17/2018 Investigacion de Topicos Avanzados de Programacion - slidepdf.com

http://slidepdf.com/reader/full/investigacion-de-topicos-avanzados-de-programacion 2/5

 

1.1 TIPOS DE EVENTOS

CLASE EVENT

Un contenedor soltado en un entorno gráfico se convierte en rápido receptor de eventos de todotipo, singularmente de los relacionados con el movimiento del ratón, pulsaciones de teclas,creación/movimiento/destrucción de partes gráficas y, por último, los referidos a acciones del

usuario respecto de componentes (elección de un menú, pulsación de un botón, etc.).

La clase Event es el jugador principal en el juego de los eventos. Intenta capturar lascaracterísticas fundamentales de todos los eventos que genera el usuario. Los datos miembro de laclase Event son los que se indican a continuación:

  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 carácter 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 combinación aritmética del estado en que se encuentran las teclas

modificadoras Mays, Alt, Ctrl.

  ClickCount: El número de clicks de ratón consecutivos. Sólo tiene importancia en loseventos 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 botón

  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 depantalla de alto nivel o una ventana con borde y título, ejemplo barra de menu) o un dialogo.

  WINDOW DESTROY  WINDOW EXPOSE  WINDOW ICONIFY

  WINDOW DEICONIFY  WINDOW MOVED

Page 3: Investigacion de Topicos Avanzados de Programacion

5/17/2018 Investigacion de Topicos Avanzados de Programacion - slidepdf.com

http://slidepdf.com/reader/full/investigacion-de-topicos-avanzados-de-programacion 3/5

 

1. Eventos de Teclado  

Son generados en respuesta a cuando el usuario pulsa y suelta una tecla mientras unComponente tiene el foco de entrada.

  KEY PRESS  KEY RELEASE

  KEY ACTION  KEY ACTION RELEASE

2. Eventos de Ratón  

Son los eventos generados por acciones sobre el ratón dentro de los límites 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 manipulación 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 función de diversas acciones.

  ACTION EVENT  LOAD FILE  SAVE FILE

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

Page 4: Investigacion de Topicos Avanzados de Programacion

5/17/2018 Investigacion de Topicos Avanzados de Programacion - slidepdf.com

http://slidepdf.com/reader/full/investigacion-de-topicos-avanzados-de-programacion 4/5

 

1.2 Generación y propagación de eventos

Cuando un usuario interactúa con el applet (aplicación  que se ejecuta en el contexto de otroprograma), el sistema Java crea una instancia de la clase Event y rellena su dato miembro con lainformación necesaria para describir la acción. Es en ese momento cuando el sistema Java permiteal applet controlar el evento. Este control comienza por el Componente que recibe inicialmente elevento (por ejemplo, el botón que ha sido pulsado) y se desplaza hacia arriba en el árbol de

Componentes, componente a componente, hasta que alcanza al Contenedor de la raíz del árbol.Durante este camino, cada Componente tiene oportunidad de ignorar el evento o reaccionar ante élen una (o más) de las formas siguientes:

  Modificar los datos miembros de la instancia de Event  Entrar en acción y realizar cálculos basados en la información contenida en el evento  Indicar al sistema Java que el evento no debería propagarse más arriba en el árbol

  El método handleEvent() es un lugar para que el programador pueda insertar código para controlar los eventos.

El sistema Java pasa información del evento a un Componente a través del método handleEvent() del Componente. Todos los métodos handleEvent() deben ser de la forma:

public boolean handleEvent( Event evt )

Un controlador de eventos solamente necesita una información: una referencia a la instancia de laclase Event que contiene la información del evento que se ha producido.

El valor devuelto por el método handleEvent() es importante. Indica al sistema Java si el evento hasido o no completamente controlado por el controlador. Un valor true indica que el evento ha sidocontrolado y que su propagación debe detenerse. Un valor false indica que el evento ha sidoignorado, o que no ha sido controlado en su totalidad y debe continuar su propagación hacia arribaen el árbol de Componentes.

El sistema Java continúa de este mismo modo hasta que el evento es controlado en su totalidad oya no hay Componentes a los que informar. En la figura siguiente mostramos el camino recorridopor el evento en su intento de que algún Componente lo controle.

Cada Componente del applet añade una línea al objeto TextArea indicando que ha recibido unevento. Luego permite que el evento se propague al siguiente Componente.

Page 5: Investigacion de Topicos Avanzados de Programacion

5/17/2018 Investigacion de Topicos Avanzados de Programacion - slidepdf.com

http://slidepdf.com/reader/full/investigacion-de-topicos-avanzados-de-programacion 5/5

 

EJEMPLO

Consta de dos instancias de la clase Button,embebidas dentro de una instancia de la clasePanel. Esta instancia está a su vez embebidadentro de otra instancia de la clase Panel. Estaúltima instancia de la clase Panel está situada

 junto a una instancia de la clase TextArea, yambas están embebidas dentro de una instanciade la clase Applet.

La figura siguiente presenta los elementos queconforman este applet en forma de árbol, con elTextArea y Button como hojas y la instancia deApplet como raiz.