domingo, 3 de abril de 2011

Manejo de eventos en Swing Java (10.03.05)

- Cada vez se tipea una tecla, se presiona el mouse; ocurre un evento.
- Cualquier objeto puede ser notificado por este evento.
- Los objetos con comportamiento, deben implementar manejador de eventos.
- En el ejemplo se ha declarado una clase interna para que maneje los eventos del botón.
public class SwingContent {  

private int numClicks = 0;  
private JLabel  label;  

public Component crearComponentes() {  
//Se agrega un manejador de eventos  
SwingListener listener = new SwingListener();  
boton.addActionListener(listener);  
}  

//Clase interna que es un listener de eventos.  
public class SwingListener implements ActionListener {  
public void actionPerformed(ActionEvent e) {  
numClicks++;  
label.setText("Cantidad de clicks : " + numClicks);  
}  
}  

}  

- Cada manejador de eventos requiere de 3 piezas de código.
3.5.1. Donde se manejaran los eventos?
Una clase que implementara el listener de eventos.
public class SwingListener implements ActionListener...

3.5.2. Que componentes tendran eventos?
Una declaracion que registra el listener como manejador de eventos de un componente.
SwingListener listener = new SwingListener();
boton.addActionListener(listener);

3.5.3. Que se realizara ante un evento?
Un método manejador de eventos que implementa la interfase del listener.
public void actionPerformed(ActionEvent e) {
numClicks++;
label.setText("Cantidad de clicks : " + numClicks);
}

- En general cuando el usuario presiona un boton en pantalla (o realiza su equivalente en teclado) el programa debe contar con un objeto que implemente la interfase ActionListener
- El programa debe registrar este objeto en la fuente del evento (el boton)
- Cuando el usuario presiona el boton, se realiza el evento, invocandose el método actionPerformed del ActionListener registrado.
Compartir:

0 comentarios:

Publicar un comentario