gpt4 book ai didi

java - 线程运行时按下按键 - 如何捕获按键?

转载 作者:行者123 更新时间:2023-11-30 04:53:13 24 4
gpt4 key购买 nike

我有一个 JPanel,其中包含一些其他可以执行操作的对象。我将通过讨论一些圆形对象(由我创建的圆形类定义)和方形对象(类似)来简化示例。

圆圈在屏幕上随机移动,而正方形则位于其位置。我的目的是使用箭头按钮移动方 block 。当前的设计是有一个带有 while 循环的线程,其中包含一个延迟,该延迟在其运行方法内设置“刷新率”。

我正在尝试我所知道的所有方法来捕获箭头键并在球在屏幕上运行时移动方 block 。

如何捕获按键(例如箭头)以便我知道将方 block 移动到哪里?我尝试在 jpanel 中实现 keylistener 但它不起作用。当我尝试在运行中使用 KeyEvent 时,出现异常。

请救救我。 :)

编辑:

感谢您提供的信息。我需要进一步的帮助来解决这个问题 -

假设我有以下代码:

this.getInputMap().put(KeyStroke.getKeyStroke("UP"), "actionName");
this.getInputMap().put(KeyStroke.getKeyStroke("DOWN"), "actionName");

this.getActionMap().put("actionName",
new AbstractAction("actionName") {
public void actionPerformed(ActionEvent evt) {
//dostuff
}
}
);

如何区分向上和向下按键?我需要改变什么?

谢谢!我知道我是个新手:)

最佳答案

KeyListener未指定在 Swing GUI 中监听,此 Listener是为史前的 AWT 组件 构建的,现在已经很远了,请使用 KeyBindings , this example can save your person

关于java - 线程运行时按下按键 - 如何捕获按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com