Os dados ficam no JFormattedTextField soh se digitar toda o tamanho da mascara, sinao limpa!

ola… tenho, mais ou menos assim:

MaskFormatter FormatoGet = new MaskFormatter( "###.###.###,##" );
JFormattedTextField oGet = new JFormattedTextField(FormatoGet);

mas, se eu digitar apenas 100 (cem) e der um tab, nao fica o que digitei… soh fica o q digito, qto toda a mascara eh preenchido !

o q fazer pra resolver isso ?

obrigado !!!

tenta isso

jFormattedTextField.setFocusLostBehavior(jFormattedTextField.PERSIST);

Depois fala se resolveu…

ola… obrigado por responder…

em parte resolveu… mas tipo assim

numa mascara assim: “##.###,##”. seu eu digitar 100, e qdo sair desse campo, nao tem como entender q eh “##.100,00”, q esta ficando assim: “10.0##,##”…

consegui me fazer entender ?

obrigado !!!

Eu acho que entendi sim…
tenta usar o COMMIT no lugar do PERSIST…
vê se é isso que vc quer…

Att.

Se caso não for o que vc precisa, tente usar dessa forma…

jFormattedTextField2.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#,##0.00"))));

é a forma que o netbeans cria… uso ele pra criar as telas…

ola… obrigado mais uma vez…

acho q agora falto pouco… rss

eu soh nao estou conseguindo, tudo isso ficar na MASKARA, ao digitar… esta ficando, mas soh qdo sai do campo… precisava q a mascara permanecesse no momento da digitacao do valor… veja como estou fazendo:

//FormatoGet = new MaskFormatter( new DefaultFormatterFactory(new NumberFormatter(new DecimalFormat( "#,##0.00" ))) );
//oGet = new JFormattedTextField(  FormatoGet  );
oGet = new JFormattedTextField(  new DefaultFormatterFactory(new NumberFormatter(new DecimalFormat( "#,##0.00" )))  );
//oGet.setFormatterFactory(new DefaultFormatterFactory(new NumberFormatter(new DecimalFormat(  "#,##0.00" ))));

acho q esta faltando bem pouco agora…