Limitar o campo (para digitar ) no JTextField no NetBeans

9 respostas
V

fmz galera ?

como q faço para limitar o campo , tipo…so pode escrever 10 digitos e bloqueia automaticamente.

E preciso fazer isso no netbeans,…e os objetos ja sao estanciados.(inclusivo ja tentei colocar uma mascara)

valeu

at+

9 Respostas

H

Cara, isto nao eh possivel no Swing, por meio de definicao de uma propriedade. Vc deve, como tem um tutotiral aki no guj, definir um Document e fazer isto “manualmente”.

[]'s

V

veleu cara…

mas com essa noticia…eju nao fiquei muito feliz nao

H

Olá,
o Swing não te da este suporte por padrão não. O que vc pode fazer é o seguinte, 2 opções. Ou vc cria Documents utilitarios e usa em cada componente, ou vc pode criar uma subclasse de JTextField e criar uma propriedade que limite este campo. Ai vc cria o BeanInfo certinhu e poe o componente na paleta do NetBeans. Ai a propriedade vai aparecer nas propriedades e vc seta, soh arrastando e soltando.

[]'s

V

ferrou…como q faco isso? heh

H

Cara, eh simples. Vc tem soh q entender como funciona o Swing. Ele tem caracteristicas muito interessantes de arquitetura que é o “MVC”, onde vc tem um camadas de desenvolvimento do seu componente envolvendo o designe dos componetes. Basicamente, vc pode criar uma propriedade em sua subclasse, e seus get/set. Quando esta propriedade for alterada, vc pode definir um Document que controle a quantidade de caracteres a serem inseridos neste componente. Ma spara fazer isto vc tem q ter noções de OO e Java (nao sei seu dominio de Java). Apos isto, vc deve criar um BeanInfo pra ficar a cois mais tranquila. Para isto, vc vai abrindo a sua classe, na aba Projects, q vai chegar um ponto que será exibido um nó chamado ‘Bean Patterns’, com o botao direito, a opção BeanInfo Editor… ira ser ciado o BeanInfo. Estwe arquivo eh reponsavel por expor as caracteristicas do seu JavaBean, ou seja, seu componente. Ali vc marca para q sua propriedade possa ser editada (jah deve vir verdinhu, se nao vier, vc marca ali certinhu). Depois vc compila td e adiciona na paleta o seu componente. Ai eh soh arrastar e soltar.
Espero ter ajudado.
[]'s

D

Ja tentou usar um JFormattedTextField? Ai vc cria a máscara para ele com 10 caracteres… Bem mais simples…

V

é uma boa solucao, mas eu to usando o netbeans…e esse objeto ja vem estanciado…como q eu poderia mudar essa “propriedade” dele?

C

num da pra fazer um evento key press… aí vc faz um loop… qdo tiver mais do q 10 vezes key press vc muda uma propriedade para nao poder escrever mais…
nao da?

L

Acho que este tópico diz o q vc tá procurando tb tive esta dúvida e me ajudou bastante
http://www.guj.com.br/posts/list/15069.java

Criado 12 de maio de 2006
Ultima resposta 17 de out. de 2006
Respostas 9
Participantes 5