Como faço para customizar uma jTextField como o tamanho de 11 caracteres numericos?
Para que o componente não aceite que o usuario digite mais do que os 11 caracteres, a IDE que estou
utilizando é o Netbeans 5.5.1, mas se porventura alguem quiser passar o codigo de outra IDE
como Eclipse, e dentre outras não tem problema. “Desde já agradeço a colaboração de todos!!!”
[/b]
Um dos jeitos de resolver é colocando dentro do evento do JtextField
Por exemplo dentro do evento keyTyped(KeyEvent e)
Colocar o seguinte codigo para bloquear letras:
if (!Character.isDigit(e.getKeyChar())) {
e.consume();
}
e para limitar o tamanho utilizar, dentro do mesmo metodo o seguinte código
if (jTextFieldNome.getText().length() >= tamanhoDesejado)
e.consume();
Essa forma não funciona se o usuário der Copy&Paste (ele pode fazer isso com o mouse, sem pressionar tecla nenhuma).
Dê uma olhada no tutorial que eu passei lá em cima, ele realmente resolve o problema.
ViniGodoy
marciofermino:
Amigo faça assim:
textField1.setMaxLength(10);
ate +
Esse método não existe. O que existe é o método setColumns(int), mas ele só tem efeito sobre a aparência do JTextField.
Eu realmente recomendo a leitura do tutorial. É o jeito certo de tratar esse assunto.
tnaires
Nem sobre a aparência ele tem efeito, porque ele permite a extrapolação visual do limite de colunas…
T
tiagowmm
Agradeço a todos que postaram as suas mensagens. vou estudar o tutorial e volta mais tarde…
T
tiagowmm
e tambem vou implementar os codigos, que foram passados, muitissimo obrigado!
Adler_Medrado
Nossa. Quase me mijei de rir lendo esta thread.
Tem solução de marte, tem solução de Vênus, tem solução até da PQP. Então vou mandar uma solução para vocês.
A solução deste planeta é: SeuJTextField.setDocument(new FixedLengthDocument(10));
Abraços.
ViniGodoy
O único problema é que essa classe não existe no JDK.
Talvez você tenha implementado do tutorial do GUJ que citei ali em cima…
Adler_Medrado
ViniGodoy:
O único problema é que essa classe não existe no JDK.
Talvez você tenha implementado do tutorial do GUJ que citei ali em cima…
Eu usei isso pela primeira vez a muito tempo, se me lembro bem lá pros idos de 2002, achei o código num livro da O’Reilly, se não me engano o nome dele é Java Swing e infelizmente não pude ler o tutorial do GUJ ainda.
Uma outra coisa é que em nenhum momento eu falei que era ou não incluso na JDK e em nenhum momento eu vi também alguém querendo uma solução que tivesse exclusivamente na JDK.
Eu pequei confesso em não colocar os fontes para ele, desculpe tiagowmm.
De qualquer forma, basta colocar FixedLengthDocument no google que acha fácil ao contrário de setMaxLength()
Abraços.
midianet
Pessoal o adler ta certo a melhor forma e criar um document
Adler Medrado:
Nossa. Quase me mijei de rir lendo esta thread.
Tem solução de marte, tem solução de Vênus, tem solução até da PQP. Então vou mandar uma solução para vocês.
A solução deste planeta é: SeuJTextField.setDocument(new FixedLengthDocument(10));