好的,我有一个JButton来重启我的游戏。
private static class Clicked implements ActionListener {
@Override
public void actionPerformed(ActionEvent event) {
hero.setHealth(100);
cl.show(cards, sGame);
}
}
按下按钮后,键盘监听器无法正常工作。我查了一下,好像窗户正在失去焦点。我已经有了setfocusable并在我的游戏面板中添加了keylistener:
addKeyListener(new Keys());
setFocusable(true);
setDoubleBuffered(true);
按钮事件之后我会做些什么或什么?
答案 0 :(得分:1)
窗口没有失去焦点,按钮正在获得焦点,使用KeyListener
将其从组件中移除。
在您的调查中,您还应该发现KeyListener
仅在组件可对焦且具有焦点时才会响应关键事件。这是KeyListener
...
同样在您的调查中,您应该发现Key Bindings API通常建议修复此问题...