Los oyentes de Action son probablemente los m�s sencillos -- y los m�s comunes -- manejadores de eventos que para implementar. Se implementa un oyente de action para responder a una indicaci�n del usuario de que alguna aci�n dependiende de la implementaci�n deber�a ocurrir.
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.
�M�todos de Evento Action
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.
�Ejemplos de Manejo de Eventos Action
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.
�La clase ActionEvent
El m�todo actionPerformed tiene un s�lo par�metros, un objeto ActionEvent. La clase ActionEvent define dos m�todos muy �tiles.
- 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
Tambi�n es �til el m�todo getSource, que ActionEvent hereda de EventObject por medio de AWTEvent.