Ir para conteúdo
Fórum Script Brasil
  • 0

LImitar JTextField


Guest Ns

Pergunta

Eu que crio um JTExt com espaço para três caracteres usando uma variável privada da minha classe assim:a=new JTExtField(3), mas conforme o usuário queira, o texto pode se estender ilimitadamente. Como eu deveria fazer para que o JTExtField apenas permitisse três letras, sendo que se o usuário digitasse mais que isso, elas não apareceriam. Existe uma função para isso?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Uma solução sugerida pelo pessoal no fórum da Sun:

import javax.swing.*;
import javax.swing.text.*;

class MyTextVerifier extends PlainDocument
{
    public void insertString(int offset, String str, AttributeSet attSet)
        throws BadLocationException
    {
        boolean valid = false;
        if (str == null) return;

        String old = getText(0, getLength());
        String newStr = old.substring( 0, offset ) + str + old.substring( offset );


        valid = isValid(newStr);
        if (valid) super.insertString( offset, str, attSet );
    }

    public boolean isValid(String str) {
        return str.length() < 10;
    }
}

class Teste extends JFrame {
    public Teste()
    {
        setSize(300, 100);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JTextField f = new JTextField();
        f.setDocument(new MyTextVerifier());
        add(f);
    }

    public static void main(String[] args) {
        Teste t = new Teste();
        t.setVisible(true);
    }
}

Na função isValid() você pode acrescentar outras opções de validação.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...