IPB

Bem-vindo, visitante ( Entrar | Registrar )

> Orientações

ATENÇÃO

Este fórum é destinado a dúvidas sobre a linguagem de programação JAVA. Se tiver dúvidas sobre javascript, use o fórum Ajax, javascript, XML, DOM.

 
Reply to this topicStart new topic
> LImitar JTextField
post 07/06/2008 - 09:17
Post #1
Ns






Visitantes







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?
Go to the top of the page
 
+Quote Post
post 07/06/2008 - 17:22
Post #2
iSoron



Moderador - Java
Ícone do grupo

Grupo: Veteranos
Posts: 1441
Registrado: 27/07/2003
De: Fortaleza, CE
Membro nº: 637
Sexo:



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

CODE
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.


--------------------
Álinson Santos Xavier
Jabber: iSoron@gmail.com
MSN: iSoron@hotmail.com
Go to the top of the page
 
+Quote Post

Fast ReplyReply to this topicStart new topic
1 usuário(s) está(ão) lendo este tópico (1 visitantes e 0 usuários anônimos)
0 membros:

 

Modos de Exibição: Padrão · Mudar para: Linear+ · Mudar para: Outline


Versão Simples Horário: 02/09/2010 - 22:05