Está en la página 1de 11

Instituto Tecnolgico Superior de Valladolid

Carrera: Nombre de la asignatura: Clave de la asignatura: (Crditos) SATCA1

ING. Sistemas Computacionales Tpicos avanzados de programacin SCD-1027 2-3-5


Nombres:

INSTITUTO TECNOLGICO SUPERIOR DE VALLADOLID.

Carr. Valladolid Tizimin km. 3.5 Tablaje catastral # 8850 97780 (985)-8564983 Valladolid, Yucatn

Jose Luis Moo Noh Daniel Moo Moo Jesus Fernando Noh Puc

Nombre del profesor:


Jess Antonio santos tejero

Actividad:
Resumen

Semestre y grupo:
Cuarto semestre, grupo A

Fecha:
13 de febrero del 2013

ndice
Contenido
ndice ................................................................................................................................................... 2 Introduccin ........................................................................................................................................ 3 Programacin orientada a eventos ..................................................................................................... 4 Eventos ................................................................................................................................................ 4 1.1. Tipos de eventos ................................................................................................................. 5

Eventos de bajo nivel o de componente ..................................................................................... 5 Eventos semnticos o de alto nivel ............................................................................................. 6 1.2. Generacin y propagacin de eventos..................................................................................... 7 1.3. Mtodos de control de eventos ............................................................................................... 8 1.4. Creacin de eventos ................................................................................................................. 9 Conclusiones ..................................................................................................................................... 11 Daniel Moo Moo ...............................................................................Error! Bookmark not defined. Referencias ........................................................................................................................................ 11

Introduccin
En la siguiente investigacin se dar a conocer sobre la programacin orientada a eventos, as como los tipos de eventos, el control de los mismos, la propagacin y la forma en que podemos crear nuestros propios eventos y utilizarlos para cualquier aplicacin como nos convenga. Es muy amplio el estudio de los eventos y por lo tanto es bueno de dedicarle el tiempo suficiente para comprender de la mejor manera sobre los eventos. La siguiente informacin cuenta con la informacin bsica para comprender y empezar a familiarizarse con los este tipo de programacin. La mayora de programas actuales se relacionan con los usuarios a travs de lo que se denomina como Interfaz Grfica de Usuario (Graphical User Interface GUI por su sigla en Ingls), la cual se puede componer de ventanas, botones, mens, barras de desplazamiento, reas de texto, conos e imgenes, y otros componentes grficos visualizados en la pantalla, y que fundamentalmente intermedian entre el usuario y el sistema (hardware y software), para llevar a cabo procesos de interaccin de entrada y salida de informacin. Se entiende por componente grfico un objeto que tiene una representacin grfica desplegable en la pantalla y que dentro de sus mtodos se encuentra la posibilidad de interactuar con el usuario (que puede ser otro objeto). Los lenguajes visuales orientados al evento y con manejo de componentes dan al usuario que no cuenta con mucha experiencia en desarrollo, la posibilidad de construir sus propias aplicaciones utilizando interfaces grficas sobre la base de ocurrencia de eventos. Para soportar este tipo de desarrollo interactan dos tipos de herramientas, una que permite realizar diseos grficos y un lenguaje de alto nivel que permite codificar los eventos. Con dichas herramientas es posible desarrollar cualquier tipo de aplicaciones basadas en el entorno.

Programacin orientada a eventos Eventos


Como ya se ha indicado antes, los programas tipo applet se basan en eventos, los cuales en su mayora tienen que ver interacciones del usuario. Una interaccin del usuario se pasa al applet y se trata de acuerdo al mtodo encargado de manejar el tipo de evento determinado, generado por el usuario; Por ejemplo, minimizar o restaurar una ventana, presionar un objeto botn (JButton) en la ventana del applet, presionar el ratn, presionar una tecla en el teclado y otros, generan eventos. El xito del desarrollo creativo de una aplicacin o applet se fundamenta en el manejo de eventos. El paquete java.awt y java.awt.event contienen las clases e interfaces para escribir programas que utilizan interfaz grfica (GUI). Un objeto del tipo JTextField, por ejemplo, representa un componente de texto que al darse enter en el campo de texto por parte del usuario, se genera un evento que activa la realizacin de una accin determinada, por ejemplo borrar el contenido del texto del objeto JTextField. El manejo de eventos involucra, por tanto, mtodos que se llaman de manera automtica cada vez que el usuario realiza un evento o accin sobre un componente determinado. Se puede afirmar en forma general que, un evento es un cambio de estado de un objeto, por tanto se generan eventos de manera interna entre objetos. Aqu se tratar de eventos generados en la interaccin entre usuario y los objetos de la interfaz grfica o GUI. Se presentar el manejo de eventos implementados a partir de la versin JDK1.2 y usando los componentes Swing. Aunque este manejo de eventos tambin es aplicable a los componentes AWT, se presentan aqu las versiones bajo Swing, por cuanto son ms modernas y obviamente ms atractivo su uso e implementacin.

1.1. Tipos de eventos


Ya se ha dicho que las acciones del usuario sobre el programa se llaman eventos Son eventos tpicos el click sobre un botn, el hacer doble click sobre el nombre de un fichero para abrirlo, El arrastrar un icono, El pulsar una tecla o combinacin de teclas, El elegir una opcin de un men, El escribir en una caja de texto, o simplemente mover el ratn.

En evento es una accin iniciada por el usuario. Ejemplo de eventos son: presionar un botn, cambiar un texto, etc. Los eventos se dividen en dos clases: de bajo nivel o de componente, y de alto nivel o semnticos.
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 a 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: Se producir este tipo de evento cuando el usuario mueva o redimensione un componente.

FocusEvent: Se producir este tipo de evento cuando se cambie el foco de un componente. KeyEvent: se producir cuando el usuario pulse una tecla. MouseEvent: Se producir cuando el usuario efecte un movimiento con el ratn o haga un click. ContainerEvent: se producir cuando se aadan o eliminen componentes en el contenedor. WindowEvent: se producir cuando se realice algn tipo de operacin con la ventana como abrirla y cerrarla. ActionEvent: Se producir cuando se efecte alguna accin sobre un componente, como por ejemplo: la pulsacin de un botn.
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.

1.2. Generacin y propagacin de eventos


Cuando un usuario interacta con el applet, el sistema Java crea una instancia de la clase Event y rellenan 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 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.

1.3. Mtodos de control de eventos


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 mtodo handleEvent(). 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 ) 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.

1.4. Creacin de eventos


Se pueden crear eventos propios y lanzarlos a cualquier objeto que est preparado para capturar eventos. Para ello basta crear el evento deseado indicando, al menos, en el constructor el objeto que capturar el evento y el identificador de evento.

El identificador es un entero que sirve para indicar el tipo de evento producido. En un evento MouseEvent habr que indicar si es un evento de clic (MouseEvent.MOUSE_CLICKED), de arrastre (MouseEvent.MOUSEDRAGGED,...). Adems segn el tipo de evento se pueden requerir ms valores (posicin del cursor, etc.). En general est tcnica sirve para hacer pruebas, pero tambin se emplea para otros detalles. Para facilitar la gestin de eventos en ciertos casos, Java dispone de las llamadas clases adaptadores. Gracias a ellas, en muchos casos se evita tener que crear clases slo para escuchar eventos. Estas clases son clases de contenido vaco pero que son muy interesantes para capturas sencillas de eventos. Una de las labores tpicas en la creacin de aplicaciones grficas del tipo que sea, es la de comunicarse con el usuario a travs de mensajes en forma de cuadro de dilogo. Algunos cuadros son extremadamente utilizados por su sencillez (textos de aviso, error, confirmacin, entrada sencilla de datos, etc.).
9

La clase JOptionPane deriva de JComponent y es la encargada de crear este tipo de cuadros. Aunque posee constructores, normalmente se utilizan mucho ms una serie de mtodos estticos que permiten crear de forma ms sencilla objetos JOptionPane.

10

Conclusiones
Jos Luis Moo Noh
Los eventos, en lenguajes de programacin, son acciones que responden a una cierta instruccin que el usuario realiza sobre un objeto, en un lenguaje orientado a eventos, es posible que el programador disee sus propios eventos, los cuales le darn funcionamiento al software. Se puede decir que al producirse un evento se est creando un objeto, una aplicacin desarrollada en Java se fundamenta bsicamente en los eventos, en java se usa el paquete java.awt que contiene las clases para el manejo de los eventos. Algunos ejemplos simples de eventos, se puede mencionar a las acciones que realiza el teclado al ser presionado, al hacer clic en alguno de los botones que compone el ratn de la computadora, al minimizar ventanas en la pantalla principal del computador.

Referencias

11