2011-02-03 17 views
9

Tengo una idea de cómo usar los oyentes de acción y ponerlos en práctica, pero me preguntaba si alguien podría decirme cómo escuchan los eventos. ¿Hay algún tipo de mecanismo de votación?¿Cómo funciona un ActionListener?

Respuesta

13

Los escuchas de acción se registran para Eventos usando el Observer pattern y son notificados, por el bucle de evento principal, de cualquier evento para el que están registrados. Así que no, no es un mecanismo de sondeo (pull), sino todo lo contrario: una devolución de llamada (push). Este es un ejemplo de la programación 'no nos llames, te llamaremos'. Como todo en el código se ejecuta en un único hilo (el bucle de evento), no tiene que preocuparse por la sincronización entre diferentes eventos, por lo que su código es seguro para la tarea.

1

Hay un bucle de eventos implementado en el núcleo de AWT. Recibe todos los eventos y los envía a los oyentes apropiados.

1

El tutorial explica cómo funcionan bastante bien: http://download.oracle.com/javase/tutorial/uiswing/events/actionlistener.html

creo que la aplicación de interfaz de usuario de la JComponent se disparará (llamada) todos los eventos registrados en el usuario que interactúa con ella (creo).

Por ejemplo, cuando un usuario hace clic en un JButton, el botón (o que es ui, o algún otro controlador interno) se las operaciones de búsqueda de todo ActionListeners registrado y llamar a sus métodos actionPerformed(...).

Cuestiones relacionadas