Fala galera tudo bem? Eu estou com problema de lógica numa classe que estou fazendo para mascara de telefone extendendo da classe PlainDocument. De início eu usava a classe MaskFormatter mas começou ter uns bugs que eu não gostei, então resolvi fazer dessa maneira. Eu fiz pra Cep e estou aproveitando a classe para fazer pra telefone. Vejam o código:
[code]public class Telefone extends PlainDocument {
A dúvida é: somente quando eu digitar o primeiro dígito, é quando vai aparecer o “(”. Só que eu quero fazer ele aparecer antes de aparecer o primeiro dígito. Ex: (**)-
Eu já tentei colocar a linha de comando string = string.concat("("); antes do if mas não funciona.
Será que vocês podem me ajudar nesse código? Aguardo a ajuda de vocês, obrigado.
Queria aproveitar e tirar mais uma dúvida. Eu procurei sobre isso e não achei nada parecido. Essa classe que eu fiz apenas vai colocando as mascaras em tempo de execução conforme vai digitando no jTextField, mas fora isso não faz mais nada. Então se eu digito apenas metade do campo (ex: “(12)3321-” ) e tento gravar no banco, ele grava normalmente. Então eu queria saber se tem como fazer com que não deixe gravar no banco enquanto não preencher totalmente o campo? Mas que também não deixe perder o foco como é o caso do Mask Formatter. Que não dê aquele bug se eu deletar e depois voltar no campo ele preencher o último dado digitado automaticamente. Isso era um problema que eu tinha no Mask Formatter. Será que tem como tratar pra isso não acontecer também? Desculpem se eu estou pedindo demais. É que eu sou bem amador nisso e não tenho idéia de como fazer mesmo.
Eu fiz uma classe dessa pra cada coisa como CPF, RG, Data… aí eu usaria esse recurso em todas as classes.
Fiz o teste aqui e quando chega no campo telefone, ele trava tudo. Dá pra preencher certinho o campo, mas depois não deixa gravar e não deixa cancelar a tela e nem voltar pra outro campo. Só clicando no X pra fechar a tela mesmo. O que será que pode ser? Veja como ficou o código. Vou colocar a classe Telefone inteira pra você ver.
[code]public class Telefone extends PlainDocument {
Entendi. Agora deu certo, acabei de testar aqui. Desculpe a demora pra responder, eu estava na faculdade. Esse negócio é pra um cadastro de clientes que eu estou fazendo, é pro meu TCC.