Máscara no JOptionPane

4 respostas
P

Estou tentando usar máscara no JOptionPane conforme código abaixo, porém aparece dois campos um com a máscara e outro abaixo sem máscara, como faço pra que aparece apenas um campo com a máscara?

public String cadFrameNasc() throws ParseException{        
        String d = JOptionPane.showInputDialog(null,new JFormattedTextField(new MaskFormatter("##/##/####")));
        return d;
    }

4 Respostas

K

pcjardim:
Estou tentando usar máscara no JOptionPane conforme código abaixo, porém aparece dois campos um com a máscara e outro abaixo sem máscara, como faço pra que aparece apenas um campo com a máscara?

public String cadFrameNasc() throws ParseException{ String d = JOptionPane.showInputDialog(null,new JFormattedTextField(new MaskFormatter("##/##/####"))); return d; }

Na verdade a assinatura dessa funcao que voce esta chamado é: (Component parentComponent, Object message)

Componet é o componente superior do dialog, que voce esta passando como null e nao faz nenhuma diferenca.
Object message é a mensagem a ser printada na tela, que voce esta passando um JFormattedTextField e o java esta printando a “mensagem”

O valor digitado dentro do jformattedtextfield nao sera retornado!!!

O que vai ser retornado eh o conteudo digitado na caixa de baixo.

[]s

Kemper

K

kemperacc:
pcjardim:
Estou tentando usar máscara no JOptionPane conforme código abaixo, porém aparece dois campos um com a máscara e outro abaixo sem máscara, como faço pra que aparece apenas um campo com a máscara?

public String cadFrameNasc() throws ParseException{ String d = JOptionPane.showInputDialog(null,new JFormattedTextField(new MaskFormatter("##/##/####"))); return d; }

Na verdade a assinatura dessa funcao que voce esta chamado é: (Component parentComponent, Object message)

Componet é o componente superior do dialog, que voce esta passando como null e nao faz nenhuma diferenca.
Object message é a mensagem a ser printada na tela, que voce esta passando um JFormattedTextField e o java esta printando a “mensagem”

O valor digitado dentro do jformattedtextfield nao sera retornado!!!

O que vai ser retornado eh o conteudo digitado na caixa de baixo.

[]s

Kemper

Por exemplo, experimente fazer isso:

public String cadFrameNasc() throws ParseException{        
        Object[][] dados = {{10, 20, 30}, {40, 50, 60}};
        Object[] colunas = {"A", "B", "C"};
        String d = JOptionPane.showInputDialog(null, new JTable(dados, colunas));
        return d;
    }

Voce pode colocar um componente no lugar da mensagem que ele sera desenhado, mas nao signfica que voce possa capturar o “conteudo” pois como o proprio parametro diz, isto eh a mensagem ao usuario do sistema e nao um campo para digitacao de valores.

P

Como eu poderia fazer isso corretamente? pq que q o campo aparece com a máscara p/ o usuário digitar a data.

K

Com joptionpane acho que nao da nao, a nao ser que voce tente estender a classe joptionpane.

Criado 27 de abril de 2010
Ultima resposta 27 de abr. de 2010
Respostas 4
Participantes 2