Estou com alguns JFormattedTextFields no meu frame que recebem como parametro uma mascara do tipo “##/##/####” (Pra ficar com as barras de data o tempo todo e limitar os caracteres). O problema é que quando o usuário clica no botão LIMPAR na janela, nesse text field é setado ("") e aí acontece o problema, ele perde a ‘‘máscara de data’’. Já tentei recricar com ‘new’ ao invés de limpar, recolocar a mascara depois de limpar e nada disso deu certo.
Você tem um metodo limpar e um para formatar os campos, poste o código…[/quote]
Oi, segue:
...
msk = new MaskFormatter("###.###.###-##");
cpf = new JFormattedTextField(msk);
msk2 = new MaskFormatter("##/##/####");
dtNasc = new JFormattedTextField(msk2);
msk3 = new MaskFormatter("(##) ####-####");
telRes = new JFormattedTextField(msk3);
telCel = new JFormattedTextField(msk3);
telRec = new JFormattedTextField(msk3);
dataIni = new JFormattedTextField(msk2);
dataFim = new JFormattedTextField(msk2);
...
Não era bem assim que eu esperava que postasse os códigos, mas tudo bem…
Vou supor que seu metodo para formatar os campos é formataCampos…
//seu metodo limpar
rg.setText(""); cpf.setText(""); dtNasc.setText("");
telRes.setText(""); telCel.setText(""); telRec.setText("");
email.setText(""); nomePai.setText(""); nomeMae.setText("");
academico.setSelectedIndex(0);
periodo.setSelectedIndex(0);
ra.setText(""); curso.setSelectedIndex(0);
dataIni.setText(""); dataFim.setText("");
formataCampos();//chama o metodo para formatar
rg.setText.requestFocus();//coloca o foco, pode ser onde vc quiser