| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2007 18:39:18
|
marcoscorso
Virtual Machine Man
Membro desde: 19/09/2006 11:04:27
Mensagens: 612
Offline
|
ola pessoal, estou tentando usar o enum mas estou com problemas ...
tenho uma classe onde eu monto todas as mascaras que vou usar no meu sistema ...
dae no meu cadastro, eu chamo essa classe de mascara usando jformatedtextfield da seguinte maneira ...
mas ao inves de me retornar a mascara de cgc - ("##.###.###/####-##"); - retorna a palavra "CGC" ...
o que esta de errado no meu codigo que nao quer aparecer a mascara ...
obrigado
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2007 18:59:10
|
emmanuel.silva
JavaTeenager
![[Avatar]](/images/avatar/ea50fb37fdda7dd9b3b42c6f4a8b3d3f.png)
Membro desde: 26/05/2006 10:46:57
Mensagens: 169
Localização: Curitiba
Offline
|
Está certo acontecer isso mesmo, vc está chamando o construtor do componente JFormattedTextField o Enum que vc criou, ele não vai conseguir adivinhar para você qual mascara você quer usar a partir do enum, você precisa chamar o metodo getMascara() que você criou, porque lá vc retorna a mascara de acordo com cada enum ficando assim:
Blz...
Acho que é isso...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2007 19:23:08
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
O mais elegante seria você declarar as máscaras dentro do seu enum:
E na hora de usar, só fazer:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2007 20:51:24
|
marcoscorso
Virtual Machine Man
Membro desde: 19/09/2006 11:04:27
Mensagens: 612
Offline
|
deu certo ...
muito obrigado pessoal
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2007 21:59:14
|
Ironlynx
Moderador
![[Avatar]](/images/avatar/93d65641ff3f1586614cf2c1ad240b6c.jpg)
Membro desde: 02/05/2003 01:06:41
Mensagens: 3515
Localização: The other side of the screen
Offline
|
ViniGodoy, taí um excelente uso para Enum!!!
Acabei de refatorar umas 10 classes de máscaras aqui de bobeira...
|
Não basta persistir...tem que prevalecer!
Ironlynx
Anarquista de Sistemas
http://osereojava.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 00:31:58
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Gostou?
Então aproveite e dê uma olhada também neste tópico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 14:21:39
|
marcoscorso
Virtual Machine Man
Membro desde: 19/09/2006 11:04:27
Mensagens: 612
Offline
|
ola ...
surgiu mais um problema com o enum ...
ai vai meu codigo ...
explicando, o que quero fazer no textfield1 passo o parametro que quero, nesse caso, "UPPER", pra que o que seja digitado fique maiusculo (vejo isso no switch) - mas ele esta passando pelos 3 casos - NONE, UPPER, LOWER - ou seja, sempre vai retornar como lower, por ser o ultimo ...
o que eu faco, tentei trocar o switch por if e tambem nao deu certo ...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 14:26:32
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Faltou break no seu switch.
Mas, novamente, você está subaproveitando o enum.
Via de regra, fuja do switch!!! Quando possível, use o polimorfismo. Dá uma olhada no link que eu passei ali em cima e vê se consegue refatorar esse seu código.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 14:34:50
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Então, com o código refatorado ficaria assim:
Primeiro, e num letras usando polimorfismo:
Depois, o local de uso:
Dá uma olhada no link lá em cima para mais explicações.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 14:38:10
|
marcoscorso
Virtual Machine Man
Membro desde: 19/09/2006 11:04:27
Mensagens: 612
Offline
|
estou com um problema para definir o tamanho de caracteres digitados num textfield....
usei o seguinte :
onde "total" eu passo via parametro ...
mas tem um problema, defini "total" como 5, se eu digitar "1234" , copiar "123", e colar, ele deixar colar, nao veta os 5 de tamanho maximo, o que posso fazer pra corrigir isso ??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 14:46:55
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Você tem que usar a interface document, como descrito neste tutorial e implementado neste tópico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 15:16:34
|
marcoscorso
Virtual Machine Man
Membro desde: 19/09/2006 11:04:27
Mensagens: 612
Offline
|
mais um problema ...
tenho varios textfield ...
jTextField1.setDocument( new Validacao(10, Validacao.letras.NONE ) );
jTextField2.setDocument( new Validacao(20, Validacao.letras.UPPER ) );
jTextField3.setDocument( new Validacao(30, Validacao.letras.LOWER ) );
o "10","20","30" eh o tamanho maximo de caracteres, o "NONE" pra formatar o campo ... mas ele esta aceitando apenas o ultimo, ou seja, todos os textfield ...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 16:28:14
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Tem cheiro de que algum atributo dentro da sua classe Validacao é estático. Se for, faça-o deixar de ser.
Se não for isso, anexa o código da classe num post aí pra gente dar uma olhada...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2007 17:21:19
|
marcoscorso
Virtual Machine Man
Membro desde: 19/09/2006 11:04:27
Mensagens: 612
Offline
|
sobre a ultima duvida deu certo ...
estavam mesmo como static, mudei para public e cada textfield ficou com sua devida validacao ...
obrigado novamente
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/05/2007 11:32:36
|
marcoscorso
Virtual Machine Man
Membro desde: 19/09/2006 11:04:27
Mensagens: 612
Offline
|
ola
a mascara deu certo, esta funcionando ...
mas ela fica aparecendo assim : " . - " no caso do cep ...
tem como mudar os espacos em branco por "_" ??
procurei algo sobre " .setPlaceholderCharacter('_'); " mas nao sei como implementar isso no meu codigo ...
|
|
|
 |
|
|