• Handling the event in the originating component

  • Creating a class that implements the desired Listener

  • Creating a class that extends the desired Adapter

  • Using an anonymous class to handle the event