怎么在GUI中用键盘控制图片运动?java问题?
关注:174答案:3mip版
解决时间 -01-17 01:03
提问者落叶、牵绊着思念
-01-16 09:43
怎么在GUI中用键盘控制图片运动?java问题?
最佳答案
二级知识专家错过の花开
-01-16 11:04
废话不多说,直接上代码
------------------------------------------
import java.awt.Color;
import java.awt.Point;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class MoveImage {
JFrame win;
Icon img;
JLabel lb;
public MoveImage() {
win = new JFrame("MoveImage");
// 加载图片
img = new ImageIcon(getClass().getResource("img.gif"));
lb = new JLabel();
// 装载图片
lb.setIcon(img);
win.setBounds(200, 0, 400, 300);
// 响应键盘上的键按下事件
win.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
move(e.getKeyCode());
}
});
win.add(lb);
win.setBackground(Color.WHITE);
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setVisible(true);
win.validate();
}
void move(int keyCode) {
// 记下原来的位置
Point pos = lb.getLocation();
switch (keyCode) {
case KeyEvent.VK_UP:// 上方向键
pos.y -= 1;
break;
case KeyEvent.VK_RIGHT:// 右方向键
pos.x += 1;
break;
case KeyEvent.VK_DOWN:// 下方向键
pos.y += 1;
break;
case KeyEvent.VK_LEFT:// 左方向键
pos.x -= 1;
}
// 设置新位置
lb.setLocation(pos);
lb.validate();
}
public static void main(String[] args) {
new MoveImage();
}
}
全部回答
1楼若爱会伤
-01-16 12:57
按键事件及逻辑处理
楼上的就是个例子~
键盘就是extends KeyAdapter
2楼小爷我灬很狂
-01-16 12:03
你好!
按键事件及逻辑处理
楼上的就是个例子~
键盘就是extends KeyAdapter
如有疑问,请追问。
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看