在我的应用程序中,我使用了一个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);
}发布于 2010-05-14 13:51:29
JPanel有键盘焦点吗?
我建议你使用InputMap和WHEN_IN_FOCUSED_WINDOW或类似的东西。摘自How to Use Key Bindings
搜索焦点窗口中所有已启用组件的WHEN_IN_FOCUSED_WINDOW输入映射。因为搜索组件的顺序是不可预测的
这对我来说非常有效。请看我的另一篇文章,了解更多信息和实际的代码示例:
或者这个教程:Swing: Understanding Input/Action Maps
相关问题:
https://stackoverflow.com/questions/2832062
复制相似问题