Como limitar qtd de caracter no textField?

3 respostas
leandro-maanaim

Pessoal gostária de saber como que eu faço para limitar um textField para que o usuario só possa inserir 10 caracter no textField?

3 Respostas

strong

leandro já deu uma olhada em http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JTextField.html nesse link vc pode achar alguns métodos do textField, creio que lá vc vai encontrar como inserir somente 10 caracter

Eric_Yuzo

http://www.guj.com.br/articles/29

victorgilc

Copia a classe:

public class MeuDocumento extends PlainDocument {

    private int tamMaximo;

    public MeuDocumento(int tamMaximo)
    {
        this.tamMaximo = tamMaximo;
    }

    @Override
    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
        
        int tamanho = super.getLength();

        if(tamanho == tamMaximo)
            return;

        if(tamanho + str.length() > tamMaximo) {

            int diff = 0;

            if(tamanho > str.length()) {

                diff = tamanho - str.length();

            } else {

                diff = str.length() - tamanho;

            }

            String aux = str.substring(0, diff);

            super.insertString(offs, aux, a);

        } else {

            super.insertString(offs, str, a);

        }   
    }
}

depois vc chama assim:

[oNomeDoSeuCampoVaiAquiSemOsColchetes].setDocument(new MeuDocumento(10));

onde 10 é o tamanho maximo de caracteres e MeuDocumento é o nome do arquivo que eu te passei

OK :wink:

Criado 28 de dezembro de 2010
Ultima resposta 28 de dez. de 2010
Respostas 3
Participantes 4