두 이미지를 표시하고 사용자가 왼쪽/오른쪽 화살표 키 (또는 키 a 및 d)를 사용하여 이미지 중 하나를 이동시킬 수있는 애플릿을 만들려고합니다. 밝은면에서는 이미지를 올바르게 가져 왔음을 알았습니다. 프로그램을 실행하면 두 이미지가 모두 표시되기 때문입니다. 그러나 일단 왼쪽 또는 오른쪽 키를 누르면 오류가 즉시 나타나고 이미지가 의도 한대로 움직이지 않습니다. 누군가가 무엇이 잘못되었는지 말할 수 있고 해결해야 할 부분에 대해 자세히 설명하면 큰 도움이 될 것입니다. 미리 감사드립니다.KeyListener를 사용하여 애플릿에서 이미지를 이동하는 방법은 무엇입니까?
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;
}
}
} 코드와