gpt4 book ai didi

java - 为什么我的 KeyListener 不读取按键?

转载 作者:行者123 更新时间:2023-12-02 05:11:28 25 4
gpt4 key购买 nike

我正在使用 JPanelGraphics 来制作游戏。我已经实现了一个 KeyListener 并将其添加到我的 JPanel 中。但是,我无法让它读取键码。我添加了一条打印语句,我认为只要按下某个键就会打印该语句,但我按下的所有键都没有返回代码。这是我的 JPanel 构造函数:

public Game()
{
super();
JPanel mazepanel = new JPanel();
this.add(mazepanel);
this.setVisible(true);
this.addMouseListener(this);
this.addKeyListener(this);
}

这是我的KeyListener

public void keyTyped(KeyEvent kb)
{
System.out.println("Key pressed: " + kb.getKeyCode());
if (kb.getKeyCode() == KeyEvent.VK_UP)
{
forward = true;
}
else if (kb.getKeyCode() == KeyEvent.VK_LEFT)
{
left = true;
}
else if (kb.getKeyCode() == KeyEvent.VK_RIGHT)
{
right = true;
}
else if (kb.getKeyCode() == KeyEvent.VK_DOWN)
{
back = true;
}
else
{

}

this.repaint();
}

最佳答案

默认情况下,您的 JPanel 不可聚焦。添加

setFocusable(true);

做到这一点。

关于java - 为什么我的 KeyListener 不读取按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27301055/

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