Java8
Páginas: 11 (2693 palabras)
Publicado: 19 de marzo de 2015
Unidad 8 Manejo de Eventos
Un evento es un objeto que representa un cambio en un componente, este es generalmente producido
por el usuario al realizar alguna operación, por ejemplo, escribir en un campo de texto o hacer click
sobre un botón. El método que se sigue para atender un evento es el siguiente:
1) Se relaciona a un oyente (listener) con uncomponente para que el componente le notifique al
listener cuando ocurra un evento específico.
2) Cuando se produce el evento, el listener atiende el evento.
En este método la implementación de la interface de usuario donde se produce el evento y la
implementación del oyente están en clases separadas.
El manejo de eventos se puede implementar a través de las clases abstractas e interfaces que javaproporciona en el paquete java.awt.event.
Interfaces
ActionListener
AdjustmentListener
AWTEventListener
ComponentListener
ContainerListener
FocusListener
InputMethodListener
ItemListener
KeyListener
MouseListener
MouseMotionListener
TextListener
WindowListener
Ing. Alma Leticia Palacios Guerrero
Clases Abstractas
ComponentAdapter
ContainerAdapter
ContainerEvent
FocusAdapter
KeyAdapterMouseMotionAdapter
WindowAdapter
Pág. 75
Introducción a la Programación en Java
8.1 Eventos generados por un marco (Frame)
En el siguiente ejemplo, se implementó una clase anidada para el manejo de Eventos, esta extiende a la clase
Window Adapter y define todos sus métodos. Para vincular a la clase que maneja los eventos con el componente
que los produce (en este caso el frame), se agrega un oyente (monitor)al frame.
import java.awt.*;
import java.awt.event.*;
class EventosFrame{
Frame ventana;
void forma(){ ventana=new Frame();
ventana.setTitle("Prueba de Eventos de Frame");
ventana.setSize(200,400);
ventana.setBackground(new Color(100,200,1));
ventana.setLayout(new FlowLayout());
ventana.add(new Label("Hola"));
ventana.pack();
ventana.setVisible(true);
ManejoDeEventosFrame manejador=newManejoDeEventosFrame();
ventana.addWindowListener(manejador);
}
class ManejoDeEventosFrame extends WindowAdapter{
public void windowActivated( WindowEvent evento){
System.out.println("Ventana activada");
}
public void windowClosed( WindowEvent evento) {
System.out.println("Ventana desactivada");
}
public void windowClosing(WindowEvent evento){
System.out.println("Cerrando Ventana");
if(evento.getSource()==ventana){
System.out.println("Cerrando ventana");
ventana.setVisible(false);
ventana.dispose();
}
}
public void windowDeactivated( WindowEvent evento){
System.out.println("Ventana desactivada");
}
public void windowDeiconified (WindowEvent evento){
System.out.println("Ventana maximizada");
}
public void windowIconified( WindowEvent evento){
System.out.println("Ventana minimizada");
}
publicvoid windowOpened( WindowEvent evento){
System.out.println("Ventana abierta por primera vez");
}
}
}
public class PruebaEventosFrame {
public static void main(String args[]){
System.out.println("Creando Marco");
EventosFrame obj= new EventosFrame();
obj.forma();
}
}
Ing. Alma Leticia Palacios Guerrero
Pág. 76
Introducción a la Programación en Java
8.2. Eventos generados por Botones
En elejemplo, para atender los eventos generados por componentes Button, se usa una clase anidada
que implementa a la interface ActionListener y se define el método actionPerformed. Es posible que
dos o más botones sean atendidos por el mismo método si a cada uno se le añade el ActionListener.
import java.awt.*;
import java.awt.event.*;
class EventosBotones {
Button boton1,boton2;
Frame v1,v2;ManejadorEventosBoton oyeBoton;
void forma1(){
v1=new Frame();
v1.setLayout(new FlowLayout());
boton1=new Button("Abrir Frame");
boton2= new Button("Cancelar");
v1.add(boton1);
v1.add(boton2);
oyeBoton=new ManejadorEventosBoton();
boton1.addActionListener(oyeBoton);
boton2.addActionListener(oyeBoton);
v1.pack();
v1.setVisible(true);
}
void forma2(){
v2=new Frame();
v2.setTitle("Prueba de Eventos de Boton");...
Leer documento completo
Regístrate para leer el documento completo.