java小程序出错!!!实现键盘方向键移动不了,帮我看看代码那里错,谢谢!!

importjava.awt.*;importjava.awt.Graphics;importjava.applet.Applet;importjava.awt.even... import java.awt.*;
import java.awt.Graphics;
import java.applet.Applet;
import java.awt.event.*;
import java.awt.event.KeyEvent;

public class TestKey extends Applet implements KeyListener{

int x,y;
public void init() {
addKeyListener(this);
x=30;
y=30;
}

public void keyTyped(KeyEvent e) {

if(e.getKeyCode()==e.VK_UP)
y+=10;
else if(e.getKeyCode()==e.VK_DOWN)
y-=10;
else if(e.getKeyCode()==e.VK_LEFT)
x+=10;
else if
(e.getKeyCode()==e.VK_RIGHT)
x-=10;

}

public void paint(Graphics g){
g.drawString("java程序设计", x, y );
}
public void keyReleased( KeyEvent e ) { }
public void keyPressed( KeyEvent e ) { }
}
编译是可以的,就是运行那个htm程序的时候只显示那段“java程序设计”,但要按方向键却移动不了,大侠帮我看看下,谢谢!!

按照一楼的建议加了repaint(),看结果还是移动不了,不知道哪里错了~~晕
展开
 我来答
百度网友e50070763
2009-04-02 · 超过12用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:53.7万
展开全部
import java.awt.Graphics;
import java.applet.Applet;
import java.awt.event.*;
import java.awt.event.KeyEvent;

public class TestKey extends Applet implements KeyListener {

int x=30, y=30;

public void init() {
addKeyListener(this);
}

public void keyTyped(KeyEvent e) {

}

public void paint(Graphics g) {
g.drawString("java程序设计", x, y);
}

public void keyReleased(KeyEvent e) {

}

public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == e.VK_DOWN)
y += 10;
else if (e.getKeyCode() == e.VK_UP)
y -= 10;
else if (e.getKeyCode() == e.VK_RIGHT)
x += 10;
else if (e.getKeyCode() == e.VK_LEFT)
x -= 10;
repaint();
}
}
改成这样试试
百度网友97530805f
2009-04-01 · TA获得超过253个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:130万
展开全部
你木有repaint()啊

public void keyTyped(KeyEvent e) {

if(e.getKeyCode()==e.VK_UP) {
y+=10;
repaint();
}
else if(e.getKeyCode()==e.VK_DOWN) {
y-=10;
repaint();
}
else if(e.getKeyCode()==e.VK_LEFT) {
x+=10;
repaint();
}
else if
(e.getKeyCode()==e.VK_RIGHT) {
x-=10;
repaint();
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
avinor
2009-04-02 · TA获得超过224个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:0
展开全部
你这个按下之后没代码了,所以检测到了按键操作,图像也不能移动。
这样做:
检测到按键按下以后,再重新画图,根据新坐标。然后再repaint()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式