JFormattedTextField "incrementado"

Pessoal,

Estou tentando desenvolver um campo para o cadastro de valores monetários. Comecei usando um jformattedtextfield e passar no contrutor uma instancia do NumberFormat.getCurrencyInstance(). Mas tenho um problema com essa solução: ela exige que vc digite os valores exatamente como a máscara manda, no caso de moeda, com o R$ e as duas casas decimais.
O que eu queria era algo mais flexivel, que vc pudesse digitar somente 1 e, qdo o campo perdesse o foco, validasse e mostrasse “R$ 1,00”. Alguém já fez algo desse tipo?
E aproveitando que estamos aqui, mais uma dúvida de jformattedtextfield: como zerar o campo? Estou usando a política de aceitação COMMIT_OR_REVERT, então depois que um valor válido já foi comitado, ele não aceita mais que eu apague o campo, se fizer isso ele volta o último valor válido. Bom, também aceito idéias aqui.

Valeu, abraços

Pedro Ivo

Você já tentou utilizar um DocumentFilter? Com ele você consegue manipular tudo que é entrado pelo usuário a cada caractere. É um tratamento mais baixo nivel, mas eu acho que para o que você quer fazer tenha que ser algo do tipo.

Um exemplo de como settar um document filter: