Sei sulla pagina 1di 11

TRABAJO DE VENTOS

Programacin Avanzada

Alfonso Garca Carvajal Eleuterio Snchez Jurez Daniel Viveros Flores

Universidad del Valle de Mxico Israel Rebollar

EVENTOS EN JAVA

Qu es un evento en java?

Las aplicaciones de Java pueden crear interfaces de usuario, y as permitir que estos ltimos lleven a cabo tareas de aplicaciones. Dentro de estas interfaces el cdigo de Java debe ser capaz de responder a la interaccin y adaptar el procesamiento a las acciones que el usuario realice. Los eventos de Java son un elemento clave para esta tcnica, ya que proporcionan programas con la capacidad para detectar dicha interaccin del usuario.

La programacin con eventos en Java involucra diversas actividades.

Cuando el usuario de un programa o applet mueve el ratn, o hace un clic o usa el teclado, genera un Evento. En Java los eventos, como cualquier otra cosa, se representan como instancias u objetos de alguna clase. Para programar una interfaz grfica es necesario aprender a utilizar los eventos.

Nota: El JDK 1.0 tena un modelo de eventos que cambi radicalmente en el JDK 1.1. Aquel modelo est "deprecated", es decir se sugiere dejar de usarlo. Por lo tanto no lo presentaremos, slo estudiaremos el modelo introducido en el JDK 1.1 que es muy superior al original y tiene trazas de ser definitivo.

Cuando el usuario interacta sobre los diversos componentes del awt, stos generan eventos. La siguiente tabla muestra los eventos que cada tipo de componente puede generar y cundo los genera.

Tipo de Componente
Button Checkbox

Eventos generados
ActionEvent ItemEvent

Hechos que los generan


El usuario hace un clic sobre el botn. El usuario selecciona o deselecciona el interruptor (Checkbox) El usuario selecciona o deselecciona el interruptor (Checkbox) El usuario selecciona o deselecciona un elemento de la lista El componente se mueve, cambia de tamao, se esconde o se exhibe. El componente gana o pierde el foco.

CheckboxMenultem

ItemEvent

Choice

ItemEvent

Component

ComponentEvent

FocusEvent

KeyEvent

El usuario pulsa o suelta una tecla

MouseEvent

Container List

ContainerEvent ActionEvent

El usuario pulsa o suelta un botn del ratn, el cursor del ratn entra o sale o el usuario mueve o arrastra el ratn. Se agrega o se quita un componente al contenedor. El usuario hace doubl clic es un elemento de la lista. El usuario selecciona o deselecciona un elemento de la lista. El usuario selecciona un elemento de men.

ItemEvent

Menultem

ActionEvent

Scrollbar TextComponent TextField Window

AdjustmentEvent TextEvent ActionEvent WindowEvent

El usuario mueve la barra de desplazamiento. El usuario hace un cambio en el texto El usuario termina de editar el texto La ventana se abre se cierra se minimiza o se reestablece o se cierra.

En Java hay otros eventos aparte de los mencionados en la tabla. Los eventos en general se representan como objetos de subclases de la clase java.util.EventObject. Hay muchas subclases de java.util.EventObject conocidas de java.awt.AWTEvent y pertenecen al paquete java.awt.event.

Interfaz
ActionListener AdjustmentListener ComponentListener

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)

ContainerListener FocusListener ItemListener KeyListener

MouseListener

MouseMotionListener TextListener WindowListener

mouseReleased(MouseEvent) mouseDragged(MouseEvent) mouseMoved(MouseEvent) textValueChanged(TextEvent) windowActivated(WindowEvent) windowClosed(WindowEvent) windowClosing(WindowEvent) windowDeactivated(WindowEvent) windowDeiconified(WindowEvent) windowIconified(WindowEvent) windowOpened(WindowEvent)

Una Lista es una lista de cadenas o Strings definidas en java.awt.List. Crearemos una
lista de 25 lneas y no permitiremos seleccin mltiple, que son los dos parmetros que necesita el constructor del objeto List. El cdigo EventosList.java que se muestra a continuacin corresponde al anterior ejemplo un poco modificado.
import java.awt.*; import java.applet.Applet; public class EventosList extends Applet { List lista; public void init() { lista = new List( 25,false ); add( lista ); lista.addItem( "Evento init" ); } public void start() { lista.addItem( "Evento start" ); } public void destroy() { lista.addItem( "Evento destroy" ); } public void paint( Graphics g ) { lista.addItem( "Evento paint" ); } public void update( Graphics g ) { lista.addItem( "Evento update" ); } public boolean mouseUp( Event evt,int x, int y ) { lista.addItem( "Evento mouseUp en ("+x+","+y+")" ); return false; } public boolean mouseDown( Event evt,int x, int y ) { lista.addItem( "Evento mouseDown en ("+x+","+y+")" ); return false; } public boolean mouseDrag( Event evt,int x, int y ) { lista.addItem( "Evento mouseDrag en ("+x+","+y+")" ); return false;

} public boolean mouseMove( Event evt,int x, int y ) { lista.addItem( "Evento mouseMove en ("+x+","+y+")" ); return false; } public boolean mouseEnter( Event evt,int x, int y ) { lista.addItem( "Evento mouseEnter en ("+x+","+y+")" ); return false; } public boolean mouseExit( Event evt,int x, int y ) { lista.addItem( "Evento mouseExit" ); return false; } public boolean keyDown( Event evt,int x ) { lista.addItem( "Evento keyDown,carcter "+(char)x ); return true; } public void getFocus() { lista.addItem( "Evento getFocus" ); } public void gotFocus() { lista.addItem( "Evento gotFocus" ); } public void lostFocus() { lista.addItem( "Evento lostFocus" ); } }

Errores: Los errores en la programacin suelen ser comunes, ya que es casi imposible programar sin que exista un solo error, inclusive en productos finales existen errores de software, que casi siempre tratan de corregir con parches de seguridad y actualizaciones. En algn momento por alguna causa, podra generarse algn conflicto en el programa. Ya sea porque no hay conexin a Internet, usuario o contrasea incorrecta, valores alfanumricos en campos solo para nmeros, y en algunos casos el cdigo del programa no esta escrito correctamente, sin embargo, este ultimo se analizara en el

siguiente tema (Diseo de pruebas unitarias). Existen formas para detectar y corregir errores en un programa por medio de opciones alternativas llamadas excepciones. Excepciones: Las excepciones en Java estn destinadas, al igual que en el resto de los lenguajes que las soportan, para la deteccin y correccin de errores. Si hay un error, la aplicacin no debera morirse y generar un core . Se debera lanzar (throw) una excepcin que nosotros deberamos capturar (catch) y resolver la situacin de error. Existen muchos tipos de excepciones,casi una por cada tipo de error, por lo que si tenemos error de entrada/salida de datos, el programa deberia de lanzar una excepcin de tipo IOException. En Java, cada excepcin es una clase hija de "java.lang.Exception", por lo que podemos crear nuestras propias excepciones en lugar de utilizar las ya predefinidas.

En este grfico podemos ver algunos de los errores y excepciones dentro de la clase Throwable que extiende deObject y tiene como hijas a Error y Exception.

Bibliografias:

http://www.slideshare.net/sgvargas/manejo-de-eventos-en-java-presentation http://www.hackxcrack.es/forum/java/capturar-eventos-(novato-en-java)/ http://javalea.wordpress.com/2009/01/15/eventos-de-pulsacion-de-teclas/ http://victoralex-poo.blogspot.mx/2011/04/eventos-excepciones-y-errores.html http://collectioncode.com/java/asignar-evento-a-jlist-en-java/ http://yalma.fime.uanl.mx/~arturo/Clase14Sim.pdf http://www.slideshare.net/sgvargas/manejo-de-eventos-en-java-presentation http://www.ehowenespanol.com/evento-java-info_243555/ http://proton.ucting.udg.mx/tutorial/java/Cap4/tipoev.html

Potrebbero piacerti anche