jFormattedTextField mudar formato em tempo de execução!
4 respostas
KIMBA
Alou pessoal,
Estou com o seguinte problema:
Tenho um jFormattedTextField que irá receber uma data ou um cpf, preciso saber como mudar o formato do mesmo.
Por ex:
No formulário o usuário escolhe numa combo se quer pesquisar por nome, data, codigo do cheque ou CPF.
Sempre que o usuário escolhe data ou CPF, não estou conseguindo alterar a máscara do campo. Assim, o formulário tem que ser fechado e aberto de novo para que o campo seja formatado com uma mascara diferente!
Tenho um jFormattedTextField que irá receber uma data ou um cpf, preciso saber como mudar o formato do mesmo.
Por ex:
No formulário o usuário escolhe numa combo se quer pesquisar por nome, data, codigo do cheque ou CPF.
Sempre que o usuário escolhe data ou CPF, não estou conseguindo alterar a máscara do campo. Assim, o formulário tem que ser fechado e aberto de novo para que o campo seja formatado com uma mascara diferente!
Alguém sabe como fazer isso?
Como ele escolhe a data ou o cpf ?
Tem um JCombo ou um JRadioGroup ?
Depois da escolha que vc coloca a máscara ?
KIMBA
Opa,
Obrigado pelo interesse…
Sim, eu uso uma combo para escolher o tipo de dado…
Aí, na 1ª vez, ótimo, da tudo certo, ele instala a máscara e blz. Porém, quando escolho outro formato ele não substitui a máscara existente…
Já li vários tutoriais, JAVADOC, site da sun…e nada.
Vou por um trecho do código aqui…
//Este método está no action da jComboBoxprivatevoidformataChave(intop){switch(op){case1:edChave.setEditable(false);break;case5:edChave.setEditable(true);Utils.formataCampo(edChave,“########-##########-############”);break;case6:edChave.setEditable(true);edChave.removeAll();edChave.setText(null);Utils.formataData(edChave);break;default:edChave.setEditable(true);edChave.removeAll();break;}}
//Este método é utilizado acimapublicstaticvoidformataCampo(javax.swing.JFormattedTextFieldcampo,Stringformato){MaskFormattermskData;try{mskData=newMaskFormatter();mskData.setMask(formato);mskData.install(campo);}catch(NullPointerExceptionnpe){npe.printStackTrace();}catch(Exceptione){e.printStackTrace();}}
Se puder ajudar agradeço!
marciofermino
Amigo. estou com o mesmo problema
so que usei este codigo.. vc ja conseguiu resolver ?