Tutorial limitando um JTextField
Fala galera, estou um pouco sumido devido ao trabalho e meu TCC, mas cá estou para ensinar como limitar
um JTextField, com certeza essa é uma das propriedades que mais faz falta nessa Classe, e além de poder gerar problemas com banco de dados, deixar os campos com tamanho “infinito” pode tirar a estética do seu projeto, existem outras maneiras mais sofisticadas é obvio, um exemplo é o : PlainDocument, mas o mesmo pode ser complicado para quem está começando agora a desenvolver com em Java.
No caso como estou usando um combobox o index começa em 0 e primeiro valor é 1.
se voce colocar 1 ele deixara apenas duas letras e por assim vai 😀
vamos ao código :
private void textoKeyTyped(java.awt.event.KeyEvent evt) {
String t = texto.getText();
if(t.length() >=Integer.parseInt(combo.getSelectedItem().toString())){
texto.setText(“”+t.substring(0,Integer.parseInt(combo.getSelectedItem().toString())));
JOptionPane.showMessageDialog(null,”Maximo de “+Integer.parseInt(combo.getSelectedItem().toString())+” digitos!”);
combo.setEnabled(true);
}
}
temos um método privado e sem retorno chamado textoKeyTyped e seus argumentos são (java.awt.event.ActionEvent evt);
ou seja estamos tratando de um evento já que estamos extendendo(Herdando) de awt.event
“Ta Jhonatan mas o que esse evento faz?”
Vamos lá : esse evento trata de todas as teclas digitadas no foco do seu text field, vale lembrar
que texto é o nome do meu TextField.
em
“String t = texto.getText();” estamos construindo uma String com os dados digitados no TextField
ATENÇÃO” pode gerar uma excessão : “NullPointerException” caso seja criada fora do evento
agora uma condição if (t.lenght() => estamos pegando o tamanho da String em bits e o método nos retorna um inteiro(Integer.ParseInt(combo.getSelectedItem().toString() estamos pegando o valor do combobox e no método getSelectedItem ele nos retorna um objeto, fazendo um typecast(Conversão) passo ele para String pois o método ParseInt recebe como argumento uma String.
“Ta Jhonatan e o que isso faz?”
-Bom isso ira contar os caracteres de acordo com os escolhidos no combobox e se ele for maior ou igual a ele ele fara : texto.setText(“”+t.subsString(0 que é a primeira posição e o valor do nosso combo.
o JOptionPane apenas avisa que os campos foram estourados
o setEnabled(false) desativa o combo para evitar Exceptions.
o código :
https://sites.google.com/site/fordivos/kiki/Campos.rar?attredirects=0&d=1
qualquer duvida é só postar nos comentarios!
curtam nossa fã page!
https://www.facebook.com/javeando
Obrigado, até mais!