EneR: Tastatur Listener

Beitrag lesen

Hallo,
ich schreibe grad ein Java-Applett, welches ein Rennen Simuliert.
Dafür wolte ich, immer wenn jemand z.B. die Taste "V" drückt, das sich die Figur vorwärts bewegt. Gibt es irgend eine Möglichkkeit zu gucken, ob jemand eine Taste gedrückt hat oder nicht? (Das ganze sollte natürlich ohne Enter oder einen "Absenden" buton funktionieren).
Ausserdem bräuchte ich dann noch eine Möglichkeit, dass man die Taste nicht gedrückt halten kann!

das ist mein Momentaner Code:

  
import java.applet.*;  
import java.awt.*;  
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
  
public class bewegScheibe extends Applet{  
 public void main(String[] args) {  
  
  System.out.println("-----HALLO-----");  
  Graphics geG = null;  
  paint(geG);  
 }  
 void Zeitschleife() {  
  try {  
   Thread.sleep(100);  
  }  
  catch (InterruptedException e) {  
  
  }  
 }  
 public String warteAufEingabe(int x) {  
  String mesg = null;  
  try {  
   BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) );  
    mesg = in.readLine();  
    System.out.println(mesg);  
  }  
  catch (IOException e) {  
  
  }  
  return mesg;  
 }  
 public int point(Graphics stift) {  
  stift.setColor(Color.red);  
  stift.fillRect(0, 100, 5, 30);  
  int x = 5;  
  return x;  
 }  
 public void paint(Graphics stift) {  
  stift.setColor(Color.red);  
  stift.fillRect(0, 100, 5, 30);  
  for (int x = point(stift); x < 200; x = x + 1) {  
   String Text = warteAufEingabe(x);  
   stift.setColor(Color.red);  
   stift.fillRect(x, 100, 5, 30);  
   stift.setColor(Color.white);  
   stift.fillRect(x - 5, 100, 5, 30);  
   Zeitschleife();  
   System.out.println(x + "m [" + Text + "]");  
  }  
  System.out.println("200 m : Ziel erreicht!");  
 }  
}