Limitando caracteres no JTextField

107 views
Skip to first unread message

Andre Sazonov

unread,
Feb 1, 2007, 7:09:14 PM2/1/07
to Só Java
Bom,

Não sei se alguem ja teve este problema mas eu ja tive muitos e como
eu desconhecia que era possivel limitar caracteres no JTextFiel eu
acabava usando o JFormatedTextField que acabava dando um pouco de
trabalho.

Abaixo esta um codigo simples para limitar o JTextFiel e uma classe
para testar.:

=========== Classe que limita os caracteres ============
import javax.swing.text.*;

class TamanhoMaximo extends PlainDocument{
int tamMax;

public TamanhoMaximo(int tam){
tamMax = tam;
}

public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException{
if((getLength() + str.length()) <= tamMax)
super.insertString(offs, str, a);
}
}


============ Classe de Teste ===============

import javax.swing.*;
import java.awt.*;

public class TamanhoMaximoTeste extends JFrame{
JTextField caixa;

public TamanhoMaximoTeste(){
super("Limitando a quantidade de caracteres em um JTextField");

Container tela = getContentPane();

FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
tela.setLayout(layout);

caixa = new JTextField(10);
caixa.setDocument(new TamanhoMaximo(5));

tela.add(caixa);

setSize(350, 100);
setVisible(true);
}

public static void main(String args[]){
TamanhoMaximoTeste app = new TamanhoMaximoTeste();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Reply all
Reply to author
Forward
0 new messages