Ich versuche, ein Applet zu machen, das zwei Bilder anzeigt und dem Benutzer erlaubt, einen von ihnen mit den linken/rechten Pfeiltasten (oder Tasten a und d) zu bewegen. Auf der anderen Seite weiß ich, dass ich die Bilder korrekt importiert habe, da beide angezeigt werden, sobald ich das Programm ausgeführt habe. Sobald ich jedoch die linke oder rechte Taste drücke, erscheint ein Fehler und das Bild bewegt sich nicht wie beabsichtigt. Wenn jemand mir sagen könnte, was falsch ist und die Details erklären, was ich reparieren muss, wäre das eine große Hilfe. Danke im Voraus.Wie man Bild in Applet mit KeyListener verschieben?
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class mainClass extends Applet implements KeyListener {
Image pic1, pic2;
int x=0, y=0,move=5;
public void init(){
setSize (1600,1200);
pic1 = getImage(getDocumentBase(),"beach king.jpg");
pic2 = getImage(getDocumentBase(),"eye.jpg");
addKeyListener(this);
}
public void start(){
}
public void paint(Graphics g){
//setBackground(Color.CYAN);
try{Thread.sleep(100);}
catch(Exception e){}
//going to change position of pic1
g.drawImage(pic1, x, y, this);
g.drawImage(pic2, 0, 0, this);
}
private boolean[] keys;
public void keyPressed(KeyEvent e) {
keys[e.getKeyCode()] = true;
}
public void keyReleased(KeyEvent e) {
keys[e.getKeyCode()] = false;
}
public void keyTyped(KeyEvent e) {}
public void update() {
if(keys[KeyEvent.VK_A] || keys[KeyEvent.VK_LEFT]){
x-=move;
}
if(keys[KeyEvent.VK_D] || keys[KeyEvent.VK_RIGHT]){
x+=move;
}
}
}