jFormattedTextField e formataçoes de valores

Bom pessoal to com probleminha com formatação de valores…

Primero gostaria de saber como fixar algo no meu jFormattedTextField.

Exemplo, o jFormattedTextField teria um valor inicial de R$ e esse valor não ia poder ser modificado, assim o usuario só digitaria o valor mesmo.

achei que se fizesse desta forma funcionaria…

meuFormattedText.setFormatterFactory(new DefaultFormatterFactory(newNumberFormatter(new DecimalFormat("R¤#,##0.00"))));

mas assim se o usuario não digita O R$ simplesmente some o que ele digito no campo.

se conseguir um exmplo meio dinamico vo fica feliz porque preciso faze isso com datas dd/MM/YYYY e metragem 1234m²

valeu

Bom ainda não pude testar mas pelo que andei olhando desta forma vai funcionar… (meio dia faço teste e confirmo se funcionou ou nâo)

        JFormattedTextField  meuFormattedText = new JFormattedTextField();
        NumberFormatter nFormat = new NumberFormatter(new DecimalFormat("R¤#,##0.00"));
        nFormat.setAllowsInvalid(false);//testar... 
        meuFormattedText.setFormatterFactory(new DefaultFormatterFactory(nFormat, nFormat, nFormat));

pessoal estou com novo problema, queria uma mascara que só aceitasse números e que eu pudesse definir o maximo de números que fosse digitado.

tentei assim:

JFormattedTextField j1 = new JFormattedTextField(); new MaskFormatter("#####").install( j1 );

porém se eu não digito exatamente 5 numeros ele apaga o que eu digitei.

alguem da uma ajuda ai =]

try{
            javax.swing.text.MaskFormatter data= new javax.swing.text.MaskFormatter("##/##/####");
            jTextField1 = new javax.swing.JFormattedTextField(data);
        }
        catch (Exception e){
        }

Uso somente isso, e serve para qualquer tipo e mascara e só aceira numeros!!!
espero ter ajudado
flwww!

[quote=Diego Fontenele] try{ javax.swing.text.MaskFormatter data= new javax.swing.text.MaskFormatter("##/##/####"); jTextField1 = new javax.swing.JFormattedTextField(data); } catch (Exception e){ }

Uso somente isso, e serve para qualquer tipo e mascara e só aceira numeros!!!
espero ter ajudado
flwww![/quote]

desta forma neste seu campo eu não vou poder simplesmente digitar o número 1 ele vai sumir.

Dá uma olhada nesse Tópico, ele vai te ajudar. Basta que vc altere o código para mostrar o R$, o que não é difícil de fazer.

é pelo jeito não da pra fazer só usando mask e jFormattedTextField, vou implementar um keyPressed então =/