键盘事件案例

首先引入我们图片并设置id名,用通配符去掉默认的外边距属性。获取到图片id,然后监听键盘事件,当键盘的某个按键按下时,设置事件对象兼容,为了兼容IE8以下的浏览器,再获取到上下左右的键盘码,分别是上=>38;下=>40;左=>37;右=>39;设置按下键盘某个键的值等于code;如果我们改变图片的top和left的值就需要给图片添加绝对定位,否则就不会有效果,然后就可以判断,如果按下键盘编码为37的键也就是我们键盘上的左方向键,图片的left值水平偏移-10px;否则如果按下的是编码为38的键上方向键,图片的top值垂直偏移-10px;否则如果按下的是编码为39的键右方向键,图片的left值水平偏移10px;否则如果按下的是编码为40的键下方向键,图片的top值垂直偏移10px。这样我们就能利用键盘的上下左右键去移动图片,没按一下方向键就移动按下的方向的相应位置10像素

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在线程中实现监听键盘事件案例,你可以使用Java的AWT或Swing库来实现。下面是一个简单的示例代码: ```java import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class KeyboardListener implements KeyListener { @Override public void keyPressed(KeyEvent e) { // 处理按键按下事件 System.out.println("按键按下:" + e.getKeyChar()); } @Override public void keyReleased(KeyEvent e) { // 处理按键释放事件 System.out.println("按键释放:" + e.getKeyChar()); } @Override public void keyTyped(KeyEvent e) { // 处理按键输入事件 System.out.println("按键输入:" + e.getKeyChar()); } } public class MyThread implements Runnable { @Override public void run() { KeyboardListener listener = new KeyboardListener(); // 创建一个JFrame或其他AWT/Swing组件作为事件源 JFrame frame = new JFrame("键盘事件监听"); frame.addKeyListener(listener); // 设置窗口属性并显示 frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); // 其他线程逻辑... } } ``` 在这个例子中,我们创建了一个`KeyboardListener`类来实现`KeyListener`接口,用于监听键盘事件。然后,在`MyThread`线程的`run()`方法中,我们创建了一个`JFrame`作为事件源,并将`KeyboardListener`监听器注册到窗口中。 请注意,由于AWT/Swing是基于事件驱动的,因此监听键盘事件的代码需要运行在UI线程上,而不是在后台线程中。因此,在`MyThread`线程中,你需要确保在主线程中创建和显示窗口,以便能够处理键盘事件。 另外,记得在程序结束时,要及时取消注册监听器,以避免内存泄漏: ```java frame.removeKeyListener(listener); ``` 这样,在`MyThread`线程中就可以实现监听键盘事件了。当按下、释放或输入键盘按键时,相应的事件处理方法将被触发,并执行相应的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值