KeyListener问题

时间:2010-05-14 05:44:03

标签: java graphics jpanel keylistener

在我的应用中,我正在使用一个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);
        }

1 个答案:

答案 0 :(得分:3)

JPanel是否有键盘焦点?

我建议您使用InputMapWHEN_IN_FOCUSED_WINDOW或类似内容。摘录自How to Use Key Bindings

  

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

这对我来说非常有效。有关更多信息和实际代码示例,请查看我的其他帖子:

或本教程:Swing: Understanding Input/Action Maps

相关问题: