Duvida sobre MaskFormatter

11 respostas
L

cara…tenho um JFormattedTextField com formato ##/##/####…ate ai blz, so que por exemplo eu digito 03/03/ e deixo o resto em branco…ai eu do um System.out.println(textfield.length())…aparece 10, ou seja, os espaços em branco eh como se fosse um caracterer, como eu faço para isso não ocorrer?

Valeu

11 Respostas

C

Olá,
Não sei se tem solução no prõprio MaskFormatter, mas vc pode fazer um .trim() na string do campo!!! e daí pedir o length!!!

Até mais!

L

olha so…mais uma duvida…tipo eu coloco sei la…03/03/1990…ai funciona…ai eu vo la dnv e coloco 03/03/199 …ai passa o focus mais volta para 03/03/1990…e eu não quero isso!

Erro:

sempre que estiver errado ele volta pro antigo valor certo

Alguem sabe como eu arrumo isso?
Valeu

L

ngm sabe?

E

eae blz?

dd/mm/aaa

isso ai naum tah definindo a mascara como ??/??/???
ou seja para que apareca os digitos

jah tentou usar apenas

dd/mm/a

com isso soh é obrigado no minimo 1 digito no ano… :roll:

faiz um teste ai :wink:

[]'s
Erko Bridee

L

cara…não entendesse ou eu não expliquei direito…
tipo…eu digito 03/03/1990…ai funciona…ai eu apago e saio do focus…ai volta para o valor antigo…entendeu?
Valeu

E

achu q entendi mais ou menos soh

tem como vc colocar o codigo ai pra gente ver :?:

achei extranho isso de voltar ao valor antigo… :roll:

[]'s
Erko Bridee

L

eh mais ou menos aissm:

mskData = new MaskFormatter("##/##/####");
mskData.install(textfield);
this.getContentPane().add(textfield);

ai eu digito 03/03/1990 eu dou um tab…e vai para um outro campo…ai eu volto…eu apago tudo e dou um tab dnv…ai volta o valor antigo(03/03/1990)!!
So que eu não quero isso!
Sabes como arrumar?
Valeu[/url]

L

cara…que coisa de louco…eu não fiz nd…eu funcionoi…haueuiaehueauheauhi
Valeu ai pela ajuda

E

eae q bom q funcionou

vc deve ter deixado passar algum detalhe despercebido, rs :lol:

mas q isso de voltar ao valor depois de ter apagado é algo
muito estranho

“misterios da informatica…” hauhahauaua

[]'s
Erko Bridee

B

“AnjoSupremo”:
eae q bom q funcionou

vc deve ter deixado passar algum detalhe despercebido, rs :lol:

mas q isso de voltar ao valor depois de ter apagado é algo
muito estranho

“misterios da informatica…” hauhahauaua

[]'s
Erko Bridee

essa é a famosa GhostException ehheh …rola direto aqui

J

isso ocorre pq quando vc define ##/##/####

vc tah dizendo que eh para inserir somente numeros sem espaço algum

agora se vc setar por exemplo

public MaskFormatter data(){
    try {
      MaskFormatter maskdata = new MaskFormatter("**/**/****");
      maskdata.setValidCharacters("[telefone removido] ");
      return(maskdata);
    }catch(Exception e){return null}
    }

ai vc pode deixar em branco e trocar de campo q o conteudo digitado continuara ali…

abraços

[size=“11”]
[color=“red”]

  • Editado: Lembre-se de usar BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários - Matheus[/color][/size] :joia:
Criado 12 de setembro de 2004
Ultima resposta 9 de ago. de 2005
Respostas 11
Participantes 5