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 o un dialogo. WINDOW_DESTROY WINDOW_EXPOSE WINDOW_ICONIFY WINDOW_DEICONIFY WINDOW_MOVED 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 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 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 Eventos de Lista Son los eventos generados al seleccionar elementos de una lista. LIST_SELECT LIST_DESELECT Eventos Varios Son los eventos generados en funcin de diversas acciones. ACTION_EVENT LOAD_FILE SAVE_FILE GOT_FOCUS LOST_FOCUS El applet EventosPrnt.java est diseado para observar los eventos que se producen sobre l. Cada vez que se genera un evento, el applet responde imprimiendo el evento que ha capturado en la lnea de comandos desde donde se ha lanzado el applet. Una vez que se haya compilado el cdigo y cargado el applet en el appletviewer o en un navegador con soporte Java, jugar un poco con el applet. Mover el cursor dentro del applet, picar con el ratn, picar y arrastrar, teclear algo, cambiar el tamao de la ventana y taparla y destaparla con otra. Las acciones anteriores harn que en la ventana en donde se haya lanzado el appletviewer, o en la consola Java en caso de Netscape, vayan apareciendo los textos que indican los eventos que est recibiendo el applet. Lo cierto es que el uso de System.out.println() en un applet es algo que no debera utilizarse, e incluso puede llegar a no funcionar en algunos sistemas, pero tena la ventaja de ser la forma ms fcil de ver los eventos. No obstante, vamos a reescribir el cdigo del applet utilizando una Lista. 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" ); } } El applet VisorEventos.java muestra los datos que componen cada evento que se produce. Hemos incorporado un botn y una lista, tal como se puede apreciar en la figura, para poder generar diferentes eventos.