110 likes | 311 Views
Manejo de Eventos. Cuando se realiza una interacción con el programa, se envía un evento. Es fundamental su comprensión para programar con GUI. Lo básico para manejo de eventos. Mecanismo para el manejo de eventos. La fuente del evento o Evento ( event source )
E N D
Cuando se realiza una interacción con el programa, se envía un evento. Es fundamental su comprensión para programar con GUI Lo básico para manejo de eventos
Mecanismo para el manejo de eventos. • La fuente del evento o Evento (event source) • El componente GUI con el cual interactúa el usuario. • La información sobre un evento esta encapsulada • Se deriva de java.util.EventObject hacia java.awt.AWTEvent • Por. Ejem. Teclas, movimiento click de mouse, manejo de una ventana. • Diferentes fuentes de eventos producen diferentes tipos de eventos • Un botón envía ActionEvent • Una ventana envía WindowEvent • El objeto evento (event object) • Encapsula información acerca del evento que ocurrió. • Incluye información que el que escucha el evento necesita para manejar el evento. • Cuando ocurre un evento, lo envía a escuchadores registrados • El que escucha el evento (event listener) • Implementa una interfase especial • Determina la reacción el un evento
Mecanismo para el manejo de eventos.[2] • Se deben realizar dos acciones primordiales para procesar un evento en el programa. • Registrar un event listener para el componente GUI que se espera que genere un evento (es un objeto de la clase que implemente una o mas interfases de event listener de los paquetes java.awt.event y javax.swing.event) • Implementar un metodo(s) para manejar el evento(event handler) de acuerdo al tipo de evento que se dispara.
Creando un frame public class MyFirstFrame extends javax.swing.JFrame { public MyFirstFrame() { initComponents(); setSize(300,200); } private void initComponents() { setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Mi primer frame"); pack(); } /** * @param args the command line arguments */ public static void main(String args[]) { new MyFirstFrame().setVisible(true); } }
Colocando un boton en el frame setLayout( null ); okButton = new Button( “OK” ); okButton.setBounds( 100, 150, 60, 30); add( oKButton );
import java.awt.event.*; class MyFirstFrame extends Frame implements ActionListener { . . . } . public MyFirstFrame ( ) { . . . cancelButton.addActionListener( this ); okButton.addActionListener( this ); . . . } } Declarara MyFirstFrame como un ActionListener Registrar MyFirstFrame Como un action listener de Dos botones
public void actionPerformed( ActionEvent event ) • { • Button clickedButton = (Button) event.getSource(); • if (clickedButton == cancelButton) { • setTitle( “presiono CANCEL" ); • } • else { //the event source is okButton • setTitle( “Presiono OK" ); • } • } • Define el metodo actionPerformed en la clase que implementa • La interface ActionListener.
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 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 • 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 • Eventos de Lista • Son los eventos generados al seleccionar elementos de una lista. • LIST_SELECT • LIST_DESELECT • Eventos Varios • Son los eventos generados en función de diversas acciones. • ACTION_EVENT • LOAD_FILE • SAVE_FILE • GOT_FOCUS • LOST_FOCUS