Capturar uma tecla com getKeyCode()

3 respostas
A

Pessoal, estou precisando de uma ajuda para criar uma pequena aplicação, tal que capture uma tecla pressionada pelo usuário, e execute um código qualquer. Pesquisando aqui no fórum, encontrei uma dúvida postada a algum tempo atrás, mas nada muito esclarecedor para mim, pois o que for teclado não vai ser exibido em nenhum campo de tela.

O trecho do código postado aqui no fórum só mostra isso, mas estou perdido quanto a utilizar algo parecido para tratar diversas teclas que podem ser pressionadas pelo usuário (no caso pretendo usar um switch para dar os tratamentos adequados - quando for VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT, VK_ENTER, etc…:

if (evt.getKeyCode() == evt.VK_ENTER) {

codigo1;

}

Preciso encarecidamente de uma ajuda, galera !!!

Agradeço toda e qualquer colaboração !!!

Augusto Cesar

3 Respostas

m4des

o codigo:

switch(e.getKeyCode()){
		case KeyEvent.VK_DOWN:
			//...
			System.out.println("DOWN");
			break;
			
		case KeyEvent.VK_UP:
			//...
			System.out.println("UP");
			break;
			
		case KeyEvent.VK_RIGHT:
			//...
			System.out.println("RIGHT");
			break;
			
		case KeyEvent.VK_LEFT:
			//...
			System.out.println("LEFT");
			break;
			
		case KeyEvent.VK_ENTER:
			//...
			System.out.println("ENTER");
			break;
		}

Ai e so voce colocar dentro do metodo keyPressed.

Valeu!

A

Fala, meu nobre amigo ! Obrigado aí pela ajuda, mas ainda estou enrolado com este probleminha. Eu fiz o código abaixo, mas tá dando tudo errado…:

import java.awt.;
import java.awt.event.
;

public class LeTecla{

public static void main(String args[]){

for(int i = 0; i < 5; i++){

switch(e.getKeyCode()){

case KeyEvent.VK_DOWN:

//… Esta linha abaixo seria somente para testar se estah

//… tudo ok:

System.out.println(Foi pressionada a seta para baixo…”);

//

// Na realidade, entrará um código similar a este abaixo para

// cada tecla que for pressionada:

//

// String arqsom = “msg_aviso_nova_questao.wav”;

//

// SimpleAudioPlayer.main(arqsom);

break;
case KeyEvent.VK_UP:
				//...
				System.out.println("Foi pressionada a seta para cima...");
				//
				// String arqsom = "msg_aviso_apagar_resposta.wav";
				//
				// SimpleAudioPlayer.main(arqsom);
				//
				//
				break;

			case KeyEvent.VK_LEFT:
				//...

			case KeyEvent.VK_RIGHT:
				//...

			case KeyEvent.VK_ENTER:
				//...
				// String arqsom = "resposta.wav";
				// Grava a resposta do usuário;
				// SimpleAudioRecorder(arqsom);
				break;
		}
	}
}

}

Onde entra o keyPressed neste contexto?

Agradeço mais uma vez sua ajuda !

Abraços,

Augusto

clodoaldoaleixo

Querendo criar um KeyLogger né amigo…cuidado que a Policia Federal ta em cima eim…heheh

Criado 7 de dezembro de 2006
Ultima resposta 11 de dez. de 2006
Respostas 3
Participantes 3