Cuando un usuario pulsa un button, elige un menu item o pulsa Return en un text field, ocurre un evento actio. El resultado es que se envía un mensaje actionPerformed a todos los oyentes de action que estén registrados con un componente en particular.
El interface ActionListener contiene un sólo método, y no tiene la correspondiente clase adaptadora. Aquí está el único método de ActionListener:
- void actionPerformed(ActionEvent)
- Se le llama justo después de que el usuario informe al componente escuchado de que debería ocurrir una acción.
Aquí está el código de manejo del evento action de un applet llamado Beeper:
public class Beeper ... implements ActionListener {
...
//where initialization occurs:
button.addActionListener(this);
...
public void actionPerformed(ActionEvent e) {
Toolkit.getDefaultToolkit().beep();
}
}
Hay algunos ejemplos más de ficheros fuentes que contienen oyentes de action:
El método actionPerformed tiene un sólo parámetros, un objeto ActionEvent. La clase ActionEvent define dos métodos muy útiles:También es útil el método getSource, que ActionEvent hereda de EventObject por medio de AWTEvent.
- String getActionCommand()
- Devuelve el string asociado con esta acción. La mayoría de los objetos que generan actions soportan un método llamado setActionCommand que nos permite seleccionar este string. Si no lo seleccionamos explícitamente, se utiliza el texto mostrado en el componente. Para objetos con múltiples ítems y por lo tanto con múltiples posibles acciones, el comando de acción generalmente es el nombre del ítem seleccionado.
- int getModifiers()
- Devuelve un entero que representa las teclas modificadores que fueron pulsadas cuando ocurrió el evento action. Se pueden usar las constantes definidas en ActionEvent - SHIFT_MASK, CTRL_MASK, META_MASK, y ALT_MASK para determinar que teclas fueron pulsadas. Por ejemplo, si el usuario selecciona un ítem de menú con Shift la siguiente expresión será distinta de cero:
actionEvent.getModifiers() & ActionEvent.SHIFT_MASK