I’ve used Listeners a lot in Java. The standard listeners have always been sufficiently flexible for my needs.
This tutorial was all I needed to quickly implement my listener: Listeners in Java
It’s clear, succinct and comprehensive. When you need to implement your custom listener interface, check it out.