跪求高手----java小错误---键盘事件-------(功能:实现键盘上下左右键移动图片也跟着走动)

为什么我写的键盘点击了,图片没有跟动?publicclassFirstextendsJFrameimplementsKeyListener{privateImageIco... 为什么我写的键盘点击了,图片没有跟动?
public class First extends JFrame implements KeyListener
{
private ImageIcon i=new ImageIcon("1.gif");
private JLabel label=new JLabel(i);
private JPanel panel=new JPanel();
public First()
{
panel.setLayout(null);
this.add(panel); panel.add(label);
this.setSize(500,500);
label.setBounds(200, 300,50, 40);

this.addKeyListener(this);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public void ss(KeyEvent e)
{
int x=label.getX();
int y=label.getY();
System.out.print(x+" "+y+"...");
if(e.getKeyChar()==KeyEvent.VK_UP)
{
label.setLocation(x, y-5);
}
else if(e.getKeyChar()==KeyEvent.VK_DOWN)
{
label.setLocation(x, y+5);
}
else if(e.getKeyChar()==KeyEvent.VK_LEFT)
{
label.setLocation(x-5, y);
}
else if(e.getKeyChar()==KeyEvent.VK_RIGHT)
{
label.setLocation(x+5, y);
}
}
@Override
public void keyPressed(KeyEvent e) {
ss(e);

}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub

}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub

}
public static void main(String[] args)
{
new First();
}
}
展开
 我来答
源念云F
2011-09-24 · TA获得超过685个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:296万
展开全部
import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class First extends JFrame implements KeyListener {
private ImageIcon i = new ImageIcon("1.gif");
private JLabel label = new JLabel(i);
private JPanel panel = new JPanel();

public First() {
panel.setLayout(null);
getContentPane().add(panel);
panel.add(label);
this.setSize(500, 500);
label.setBounds(200, 300, 50, 40);

this.addKeyListener(this);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}

public void ss(KeyEvent e) {
int x = label.getX();
int y = label.getY();
System.out.print(x + " " + y + "...");
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_UP) {
label.setLocation(x, y - 5);
} else if (keyCode == KeyEvent.VK_DOWN) {
label.setLocation(x, y + 5);
} else if (keyCode == KeyEvent.VK_LEFT) {
label.setLocation(x - 5, y);
} else if (keyCode == KeyEvent.VK_RIGHT) {
label.setLocation(x + 5, y);
}
}

@Override
public void keyPressed(KeyEvent e) {
ss(e);

}

@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub

}

@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub

}

public static void main(String[] args) {
new First();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
周宅伦
2011-09-24 · TA获得超过121个赞
知道答主
回答量:89
采纳率:0%
帮助的人:144万
展开全部
getKeyChar改成getKeyCode
追问
对了,3Q
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式