gpt4 book ai didi

java - KeyListener 没有被调用

转载 作者:行者123 更新时间:2023-12-02 06:34:10 28 4
gpt4 key购买 nike

我有一个扩展 JFrame 的 GUI 类,以及一个扩展 KeyAdapter 的单独内部类 KeyPresses。在 GUI 的构造函数中,我将 KeyAdapter 的实例传递给 addKeyListener()。据我所知,这就是我需要做的全部,但由于某种原因,当我按下一个键时它不会被调用。

适用代码:

public class GUI extends JFrame{
public GUIMaze(Options options){
addKeyListener(new KeyPresses());
...more code...
}
private class KeyPresses extends KeyAdapter{
@Override
public void keyPressed(KeyEvent e){
...code that is not being run...
}
}
}

奇怪的是,在我进行一些重构之前,这段代码曾经可以工作。要么我删除了我需要的东西,要么我正在做一些与KeyPresses冲突的事情。

我只有 1 个 KeyListener,而我的 MouseListener 工作得很好。

最佳答案

这是 KeyListener 的常见问题。 KeyListener 仅当其附加的组件可聚焦且具有键盘焦点时才会引发事件。

建议您使用 Key Bindings API,它为您提供了控制来确定应在哪个焦点级别触发绑定(bind)。

关于java - KeyListener 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19825547/

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