Olá pessoal estou com um probleminha.
No campo NOME preciso apenas letras e não números como faço para bloquear os numeros, se alguém puder me passar alguma coisa eu agradeço.
se for WEB, Javascript…
algo como o código abaixo no evento do seu campo text
function so_letras(){
if (window.event)
keycode = window.event.keyCode;
else if (e){ keycode = e.which;}
if(keycode>=48 || keycode<=57){
event.returnValue = false;
}
}
PAP,
se for para Desktop, você pode olhar o link para maiores detalhes.
http://www.guj.com.br/posts/list/43782.java
Segue abaixo, duas formas de se fazer, ambas adaptadas do link acima citado.
/////
1° forma
[code]JTextField field = new JTextField();
field.setDocument(new PlainDocument()
{
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException
{
// normalmente apenas uma letra é inserida por vez,
// mas fazendo assim também previne caaso o usuário
// cole algum texto
for (int i = 0; i < str.length(); i++)
{
if (Character.isDigit(str.charAt(i)) == false)
{
return;
}
}
super.insertString(offs, str, a);
}
});[/code]
2° forma
JFormattedTextField tfDigitos = new JFormattedTextField(setMascara("##########"));
Insira esse método na sua aplicação:
[code]private MaskFormatter setMascara(String mascara) {
MaskFormatter mask = null;
try {
mask = new MaskFormatter(mascara);
} catch (ParseException e) {
e.printStackTrace();
}
return mask;
}[/code]
Essa segunda forma é bem mais modular. É possível ainda com a alteração dos caracteres # você aceitar outros tipos de sequência, como por exemplo, uma sequência de letras, ou ainda misturar em uma mesma sequência números e letras.
Só um detalhe que está faltando explicar, nesse exemplo da 2° forma é aceito um número de 10 dígitos (a quantidade de dígitos é a quantidade de #).
Espero ter ajudado.