Dentro do seu PlainDocument, você poderia verificar se o caracter digitado é uma letra.
Character.isLetter(seuChar)
Acredito que desta forma você consiga digitar somente letras. Se não estou enganado, ele deve filtrar os caracteres especiais( ! @ # $ % & * ) coisas do tipo.
Até mais
R
rcoimbra
Desculpe, sou bem iniciante. Onde devo utilizar e como chamar?
importjavax.swing.text.*;publicclassFixedLengthDocumentextendsPlainDocument{privateintiMaxLength;publicFixedLengthDocument(intmaxlen){super();iMaxLength=maxlen;}@OverridepublicvoidinsertString(intoffset,Stringstr,AttributeSetattr)throwsBadLocationException{if(this==null)return;if(iMaxLength<=0)// aceitara qualquer no. de caracteres{super.insertString(offset,str,attr);return;}intilen=(getLength()+str.length());if(ilen<=iMaxLength)// se o comprimento final for menor...super.insertString(offset,str,attr);// ...aceita str//super.insertString(0,"00", attr);}}
Vlw pela atenção.
julianofischer
Utilize um JFormattedTextField!
R
rcoimbra
Sim, como eu disse, ja consigo utilizar a classe acima para determinar o tamanho maximo do meu TextField…
Eu preciso de um parecido para que ele aceite apenas letras, e não numero e caracteres;…
testa aí
fiz rapidão aqui
nao sei se funciona... nao conheço esse PlainDocument aí
mas já dá pra vc ter uma ideia
A cada caracter digitado no JTextField é executado o método insertString(...)
A variável str é somente o caracter digitado, ou seja, acho que não tem necessidade de fazer um laço nessa variável, sabendo que ela vem somente o caracter digitado.
Acredito que basta fazer testar as condições.
R
rcoimbra
Vlw galera pela força mesmo.
Deu certo LedRenan. Batata, isso mesmo… funfou que é uma blz…
Desculpem minha ignorancia… mais tow caminhando, rsss, e ainda chego la…
Vlw julianofischer pela força tambem…
R
rcoimbra
Agora só mais uma duvida,
Caso eu precise validar um outro jTextFiel somente aceitando numero.
Como devo proceder??? Pois já estou utilizando o metodo para validar somente letras…
Vlw galera…
L
LedRenan1 like
O ideal (acredito eu) é vc ter um PlainDocument para cada tipo…um para letra e outro para números
Neste caso vc faz a verificação de digito…
Para letras faziamos…
if(!Character.isLetter(seuChar)){
return;
}
Para números faz a seguinte condição
if(!Character.isDigit(seuChar)){
return;
}
Até mais…
R
rcoimbra
Galera, mais um probleminha.
Como faço para aceitar espaço???
Ele esta aceitando apenas letras, não esta aceitando espaço.
Vlw…
L
LedRenan
rcoimbra,
O código abaixo verifica se o caracter digitado é um espaço em branco.