Isso me parece problema conceitual. Você conhece o padrão Observer? É ele que os Listeners do Swing implementam. Você deve colocar seu trecho de código dentro do método correspondente de seu FocusListener (o focusLost).
Outra coisa: você vai usar esse JFormattedTextField só para digitar um número de 1 a 31? Se sim, talvez um JSpinner supra melhor a necessidade (ou criar seu próprio Document para o JTextField para que ele aceite somente números dentro da faixa).
Mais uma coisa: cuidado pois se isso for para usar com datas, existem meses que não tem o dia 31 e ainda tem fevereiro que depende do ano.