package ch10;
import javax.swing.*;
import java.awt.event.*;
public class KeyDemo extends JFrame implements KeyListener{
private JPanel p;
private JButton b;
public KeyDemo() {
super("键盘控制按钮移动");
p = new JPanel();
b = new JButton("用W A S D控制");
p.add(b);
//注册键盘监听
b.addKeyListener(this);
this.add(p);
this.setSize(200,150);
this.setLocation(100,100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//敲击键盘的事件处理方法
public void keyTyped(KeyEvent e) {
}
//键盘按下的事件处理方法
public void keyPressed(KeyEvent e) {
//获取按下键盘的码值
int key = e.getKeyCode();
//活动按钮当前的x,y坐标
int x = b.getX();
int y = b.getY();
switch(key) {
case KeyEvent.VK_D:
b.setLocation(x+5,y);
break;
case KeyEvent.VK_A:
b.setLocation(x-5,y);
break;
case KeyEvent.VK_W:
b.setLocation(x,y-5);
break;
case KeyEvent.VK_S:
b.setLocation(x,y+5);
break;
default:
break;
}
}
//键盘松开的事件处理方法
public void keyReleased(KeyEvent e) {
}
public static void main(String[] args) {
KeyDemo f = new KeyDemo();
f.setVisible(true);
}
}
java模拟用w,a,s,d键控制按钮来回走动功能
最新推荐文章于 2023-12-06 16:39:43 发布