Avevo provato con il DocumentListener però mi diceva che non era associabile ad un JTextField...ma da quando ho visto dal codice che hai postato basta fare

codice:
tf.getDocument().addDocumentListener(this);
adesso provo!

Ciao.