How does an ActionListener work?

后端 未结 3 826
误落风尘
误落风尘 2021-01-04 14:02

I have an idea of how to use action listeners and implementing them but I was wondering if anyone could tell me how do they listen to the events? Is there some kind of poll

相关标签:
3条回答
  • 2021-01-04 14:09

    Action listeners register for Events using the Observer pattern and they are notified, by the main event loop, of any events they are registered for. So no, it's not a polling (pull) mechanism, but the opposite - a (push) callback. This is an example of 'don't call us, we'll call you' programming. Because everything in your code runs off a single thread (the event loop) you don't have to worry about synchronizing between different events - so your code is threadsafe.

    0 讨论(0)
  • 2021-01-04 14:23

    The tutorial explains how they work fairly well: http://download.oracle.com/javase/tutorial/uiswing/events/actionlistener.html

    I think the UI implementation of the JComponent will fire (call) all registered events upon the user interacting with it (I think).

    For example, when a user clicks a JButton, the button (or it's ui, or some other internal handler) will lookup all registered ActionListeners and call their actionPerformed(...) methods.

    0 讨论(0)
  • 2021-01-04 14:31

    There is an event loop that is implemented into core of AWT. It receives all events and sends them to appropriate listeners.

    0 讨论(0)
提交回复
热议问题