Trocar letra

Galera to com um problema aqui… eu so novo em java então paciencia! :stuck_out_tongue:

eu ja usei a busca do forum e ja tentei de varias maneiras…

O negocio é o seguinte tenho um textbox e quero que ao usuario digitar vogais mudar para outro caracter tipo “%” ou “#”…

eu tentei com o codigo abaixo… o que está errado?

texto.addKeyListener (new KeyAdapter ( ) {
	public void KeyPressed (KeyEvent e){
				
	     if (e.getKeyChar() == 'a'){
		texto.setText("@");
	     }
	     if (e.getKeyChar() == 'e'){
		texto.setText("#");
	    }
	    if (e.getKeyChar() == 'i'){
		texto.setText("$");
	    }
	    if (e.getKeyChar() == 'o'){
		texto.setText("%");
	    }
	    if (e.getKeyChar() == 'u'){
		texto.setText("&");	
	    }
				
	}
			
	} ) ;

valew galera… e se não for abusar respondi o mais rapido possivel ta?! :stuck_out_tongue:

Amigo eu testei seu código e funcionou aqui em casa, qual o tipo de erro que está acontecendo ?.Tenta fazer isso :
public void KeyPressed (KeyEvent java.awt.event.KeyEvent e){

Abraços._

Olá…

Também não encontrei erros no seu algoritimo não! Mas só coloca esses “else” assim como no exemplo abaixo por uma questão de desempenho. :wink:

texto.addKeyListener (new KeyAdapter ( ) { public void KeyPressed (KeyEvent e){ if (e.getKeyChar() == 'a'){ texto.setText("@"); } else if (e.getKeyChar() == 'e'){ texto.setText("#"); } else if (e.getKeyChar() == 'i'){ texto.setText("$"); } else if (e.getKeyChar() == 'o'){ texto.setText("%"); } else if (e.getKeyChar() == 'u'){ texto.setText("&"); } } } ) ;

Espero ter ajudado. Abraço.

[quote=dmarcosm]Olá…
Também não encontrei erros no seu algoritimo não! Mas só coloca esses “else” assim como no exemplo abaixo por uma questão de desempenho. :wink:
.[/quote]

Por uma questão de clareza é melhor evitar “copy & paste”. Quando vejo várias repetições de “e.getKeyChar()” é que tem alguma coisa errada.
Faça algo como:

texto.addKeyListener (new KeyAdapter ( ) { public void KeyPressed (KeyEvent e){ switch (e.getKeyChar()) { case 'a': texto.setText("@"); break; case 'e': texto.setText("#"); break; case 'i': texto.setText("$"); break; case 'o': texto.setText("%"); break; case 'u': texto.setText("&"); break; default: break; } } } ) ;

Não entendi essa :smiley: … mas … muito boa!!! Tinha me esquecido que select no Java aceita char! :slight_smile:

Valeu por refrescar minha memória! rsss

o erro é que eu digito as vogais e ao invez de aparecer o caracter que eu escolhi aparece a propia vogal! :S

não funcionou mesmo… tentei ja com as alterações ai … mais no textbox aparece as proprias vogais e não os caracteres trocados…

Faz assim:

texto.addKeyListener (new KeyAdapter ( ) { public void KeyPressed (KeyEvent e){ switch (e.getKeyChar()) { case 'a': e.setKeyChar('@'); break; case 'e': e.setKeyChar('#'); break; case 'i': e.setKeyChar('$'); break; case 'o': e.setKeyChar('%'); break; case 'u': e.setKeyChar('&'); break; default: break; } } } ) ;

Veja se funciona! :slight_smile:

Espero ter ajudado. Abraço.

Nada… :cry:

Sou novato tbm, mas me parece tudo certo mesmo…
Dah uma revisada no codigo, talvez vc nao esteja jogando o textBox correto para o adapter. Tem mais de um textbox?

Nao sei como funciona o KeyAdapter, mas imagino q vc tenha q varrer a string resultate do textbox, nao?!
Tenta por apenas uma vogal (um Char) e vê se funciona…

Alias, se eu estiver redondamente errado, por favor me corrijam… hehe