Temas:
En este curso solo nos preocuparemos de los eventos de acción. Estos eventos se gatillan cuando el usuario realiza la interacción fundamental por la que fue concebido un widget. Por ejemplo cuando el usuario:
Los widgets provistos por la AWT saben capturar y responder la mayoría de
de los eventos, con excepción de los eventos de acción porque estos
tienen relación con la lógica de la aplicación (a veces se habla
del negocio de la aplicación referiéndose a la funcionalidades
que ella entrega).
Captura de eventos de acción
Para capturar eventos de acción, se procede de la siguiente forma.
Supongamos que la interfaz gráfica consta de un botón, referenciado por
la variable b. Cuando el usuario presiona ese botón se dice que
gatilla el evento de acción asociado a ese botón. Supongamos entonces
que la aplicación necesita responder a este evento, ejecutando un grupo
de instrucciones I.
public class MiOyente implements ActionListener {
public void actionPerformed(ActionEvent e) {
... // Aquí se coloca el grupo de instruciones I
}
}
El método addActionListener registra el objeto creado para ser utilizado
más tarde cuando se presione el botón. Cuando se gatilla este evento,
el botón invoca el método actionPerformed de los objetos suscritos.
b.addActionListener(new MiOyente());
Patrón de programación de una applicación con interfaz gráfica
import java.awt.*; // los widgets
import java.awt.event.*; // los eventos
import ...; // otras bibliotecas
class Gui extends Program {
// la ventana
Frame ventana= new Frame("título de la ventana");
// todos los widgets
TextArea area= new TextArea(5, 20);
...
void run() {
ventana.setLayout(new BorderLayout()); // asigna el layout
panel.setLayout(new FlowLayout());
// armamos el panel
panel.add(texto);
...
// armamos la ventana
ventana.add("North", etiq);
...
// Inscripcion para los eventos
lista.addActionListener(new SeleccionLista());
...
ventana.pack();
ventana.show();
}
// clases para los eventos de acción
...
}