Cara, de uma olhada nos input verifiers, objetos com esta finalidade específica.
http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html#inputVerification
Ai, para resolver o problema aima citado, você seta o input verifier do component para nulo, exibe a mensagem, e então readiciona o input verifier novamente ao componente.
[]´s