Evento

2 respostas
P

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.

2 Respostas

kissdemon

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;
	}
}
Petronio_Braga

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

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);
	    }
	});


2° forma

JFormattedTextField tfDigitos = new JFormattedTextField(setMascara("##########"));

Insira esse método na sua aplicação:

private MaskFormatter setMascara(String mascara) {
 		MaskFormatter mask = null;
 		try {
 			mask = new MaskFormatter(mascara);
 		} catch (ParseException e) {
 
 			e.printStackTrace();
 		}
 		return mask;
 	}

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.

Criado 10 de janeiro de 2007
Ultima resposta 10 de jan. de 2007
Respostas 2
Participantes 3