繁体   English   中英

设置按钮事件后的可聚焦性

[英]Setting Focusable After Button Event

好的,所以我有一个JButton重新启动游戏。

private static class Clicked implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent event) {
        hero.setHealth(100);
        cl.show(cards, sGame);
    }
}

当我按下按钮后,键盘监听器不起作用。 我抬起头,似乎窗户正在失去焦点。 我已经可以设置setfocusable并将其添加到游戏面板中:

addKeyListener(new Keys());
setFocusable(true);
setDoubleBuffered(true);

按钮事件发生后我该做什么?

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

在调查中,您还应该发现KeyListener仅在组件可聚焦且具有焦点时才响应键事件。 这是KeyListener的已知限制...

同样在调查中,您应该已经发现通常建议使用Key Bindings API来解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM