Oi povo.
Muita gente tem dúvida nisso, então eu vou postar um jeito fácil de fazer um limitador de texto pra colocar em JTextFields.
Primeiro, cria-se uma classe.
LimitadorTexto.java:
import javax.swing.text.*;
public class LimitadorTexto extends PlainDocument {
private int limite = 0;
public LimitadorTexto(int l){
this.limite = l;
}
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
int sobra = limite - getLength();
int comprimento = ( sobra > str.length() ) ? str.length() : sobra;
super.insertString(offs, str.substring(0, comprimento), a);
}
}
Pronto. Agora é só usar:
import LimitadorTexto;
...
private JTextField nome = new JTextField(new LimitadorTexto(x), "", 10);
Daí é só trocar o "x" pelo número de caracteres que você precisa.
(Achei esse código no Fórum Portal Java).
Amanhã eu posto um outro jeito legal de fazer isso, com direito a bloqueio de caracteres indesejáveis e tudo.
Té.
4 comentários:
mto bom
me audou bastante
Ótimo!!!!
Ajudou muito aqui. obrigada :D
Me ajudou muito, já estava há vários dias precisando disso! Obrigado!
textFieldEntradaCpf.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
super.keyTyped(e);
if(textFieldEntradaCpf != null && textFieldEntradaCpf.getText() != null && textFieldEntradaCpf.getText().length() >= 9){
e.setKeyChar((char) KeyEvent.VK_CLEAR);
}
}
});
Postar um comentário