Cuando llamamos a un método no estático, Java le pasa implícitamente (uséase, que nosotros ni nos enteramos) como parámetro la referencia this, que como sabemos apunta a la instancia actual. En el caso de los métodos estáticos esto no sucede, por lo que dentro del código del método no sabe qué instancia le ha llamado y por tanto no puede acceder a la copia de las variables de dicha instancia.
fuente -->
http://www.programacion.com/java/tutorial/intjava/16/
¿Has probado a sustituir el this por lo que te dije?
--- edito ---
Y añado esto que he encontrado:
http://jhippjava.blogspot.com/2009/0...listeners.html
Léelo con calma