按钮事件后设置可聚焦

时间:2014-01-23 02:49:23

标签: java swing focus jbutton keyboard-events

好的,我有一个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);

按钮事件之后我会做些什么或什么?

1 个答案:

答案 0 :(得分:1)

窗口没有失去焦点,按钮正在获得焦点,使用KeyListener将其从组件中移除。

在您的调查中,您还应该发现KeyListener仅在组件可对焦且具有焦点时才会响应关键事件。这是KeyListener ...

的已知限制

同样在您的调查中,您应该发现Key Bindings API通常建议修复此问题...