Tastensteuerung Hamster BlueJ?
Hallo,
ich will ein Labyrinth erstellen und will, dass man sich mit wasd bewegen kann.
import java.awt.Frame;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class Tastensteuerung extends Hamster implements KeyListener {
@Override
public void keyTyped(KeyEvent e) {
//System.out.println("The key Typed was: " + e.getKeyChar());
if ('w' == e.getKeyChar())
vor();
if ('a' == e.getKeyChar())
linksUm();
if ('d' == e.getKeyChar())
linksUm();
linksUm();
linksUm();
if ('s' == e.getKeyChar())
linksUm();
linksUm();
}
@Override
public void keyPressed(KeyEvent e) {
/*
if (e.isActionKey())
System.exit(0);
System.out.println("The key Pressed was: " + e.getKeyChar());
*/
}
@Override
public void keyReleased(KeyEvent e) {
/*
System.out.println("The key Released was: " + e.getKeyChar());
*/
}
public static void main (String args[]) {
XHam Hansi = new XHam();
// Setting the Frame and Labels
Frame f = new Frame("Demo");
//f.setLayout(new FlowLayout());
//f.setSize(500, 500);
//Label l = new Label();
//l.setText("This is a demonstration");
//f.add(l);
f.setVisible(true);
//////Dummy f = new Dummy(); //geht nur mit Frame
// Creating and adding the key listener
//KeyListenerExample k = new KeyListenerExample(Hansi);
f.addKeyListener(Hansi);
}
/**
* Konstruktor f�r Objekte der Klasse Tastensteuerung
*/
public Tastensteuerung(int reihe, int spalte, int blickrichtung, int anzahlKoerner) {
super(reihe,spalte,blickrichtung,anzahlKoerner);
}
public void zurMauer() {
while (vornFrei())
vor();
}
}
Bei
f.addKeyListener(Hansi);
kommt ein Fehler. Kann mir jemand helfen?
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, Java, BlueJ
Das Objekt Hansi ist vom Typ XHam:
XHam Hansi = new XHam();
und das wiederum ist vermutlich kein KeyListener, was die addKeyListener-Methode von dem Argument verlangt, welches ihr übergeben wird.
Ein Objekt deiner Klasse Tastensteuerung könnte diese Anforderung erfüllen, da es das KeyListener-Interface implementiert.
Frame fenster = new Frame("Demo");
Tastensteuerung tastensteuerung = new Tastensteuerung(/* ... */);
fenster.addKeyListener(tastensteuerung);