1

在我的应用程序中,我使用了一个 jpanel,我想在其中添加一个关键侦听器。我做到了。但它不起作用。

是不是因为我正在使用 swingworker 每秒更新面板的内容。

这是我更新面板的代码

RenderedImage image = ImageIO.read(new ByteArrayInputStream((byte[]) get()));
        Graphics graphics = remote.rdpanel.getGraphics();
        if (graphics != null) {
            Image readyImage = new ImageIcon(UtilityFunctions.convertRenderedImage(image)).getImage();
            graphics.drawImage(readyImage, 0, 0, remote.rdpanel.getWidth(), remote.rdpanel.getHeight(), null);
        }
4

1 回答 1

3

JPanel有键盘焦点吗?

我建议你使用InputMapandWHEN_IN_FOCUSED_WINDOW或类似的东西。摘自如何使用键绑定

搜索焦点窗口中所有启用组件的 WHEN_IN_FOCUSED_WINDOW 输入映射。因为搜索组件的顺序是不可预测的

这对我来说非常有效。查看我的另一篇文章以获取更多信息和实际代码示例:

或本教程:Swing:了解输入/动作映射

相关问题:

于 2010-05-14T05:51:29.203 回答