Leitura do teclado [RESOLVIDO]

ola pessoal, estou fazendo um jogo e surgiu um problema.

o jogo é de nave, e a nave anda para direita e esquerda.

e as movimentações do jogo acontece tudo dentro de um do while

o que eu queria era que esse do while ficasse executando direto sem interrupção, por exemplo não parace para fazer a entrada de dados

asim ele ficaria rodando e lendo o teclado caso alguma tecla fosse precionada ele executaria um metodo

segue o codigo

[code]do{

	Dimension d = getSize();
	int he = (int) d.getHeight(); 
	int wi = (int) d.getWidth();

	

	
	
		if(j == wi-90){
			muda = 1;
			new AePlayWave("C:/teste.wav").start();
		}
		if(j == -30){
			muda = 2;
			new AePlayWave("C:/teste.wav").start();
		}
	
		
		if(muda == 1){
			j--;
			desce++;
			if(desce == 500){
				desce = -50;
				lado = (int) (Math.random() * 600);
				System.out.println(lado+"\n");
				score =+ 10;
				SCORE.setText("SCORE: "+score);
			}
			
		}else{
			j++;
			desce++;
			if(desce == 500){
				desce = -50;
				lado = (int) (Math.random() * 600);
				System.out.println(lado+"\n");
				score =+ 10;
				SCORE.setText("SCORE: "+score);
			}
		}
		
		
		// movimenta a nave somente pelo J
		NAVE.setBounds( j , 400 , 100 , 80 );  
		PEDRA.setBounds( lado , desce , 48 , 48 );
		repaint();
		
		
		Thread.sleep( 1 * 10 );
		

	
}while(x == 0);[/code]

este é o meu do while como podem ver a NAVE esta se mechendo pela variavel J que fica dentro de um for, mais o que eu queria é que ela se mechesse quando eu clicar para a direita ou esquerda
e como disse o do while nao pode fica esperando para ler, caso alguma tecla nao seja selecionada ele continua sua execução