你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

用键盘事件中的KeyPrssed()方法移动图像(Java)

2021/12/24 21:16:37

效果图:

 代码实现:

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();
    }
}