效果图:
![](https://i-blog.csdnimg.cn/blog_migrate/28c85a26deb8b8574b3265617038370c.png)
代码实现:
import javax.swing.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
//图像移动事件
public class ImageMove extends KeyAdapter {
JFrame frame = new JFrame("通过方向键改变图像位置");
Icon image = new ImageIcon("D:\\java项目\\src\\images\\header.png");
JLabel lb = new JLabel(image);
int x = 50;
int y = 50;
@Override
public void keyPressed(KeyEvent e) {//键盘按下事件
if(e.getKeyCode() == KeyEvent.VK_UP){//向上移动
if(y > 10)
y = y - 10;
}
if(e.getKeyCode() == KeyEvent.VK_DOWN){//向下移动
if(y < 240)
y = y + 10;
}
if(e.getKeyCode() == KeyEvent.VK_LEFT){//向左移动
if(x > 10)
x = x - 10;
}
if(e.getKeyCode() == KeyEvent.VK_RIGHT){//向右移动
if(x < 240)
x = x + 10;
}
lb.setBounds(x,y,150,150);//移动后的图像位置和大小
}
public void init(){
frame.setLayout(null);
lb.setBounds(x,y,150,150);//初始化图像位置和大小
frame.add(lb);
frame.addKeyListener(this);//为窗体添加键盘事件
frame.setBounds(700,250,400,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ImageMove().init();
}
}