Question

Dans mon apllication je me sers d'un JPanel dans lequel je veux ajouter un écouteur de touche. Je l'ai fait. Mais il doesnot travail.

Est-ce parce que je suis en utilisant une SwingWorker de mettre à jour le contenu du panneau à chaque seconde.

Voici mon code pour mettre à jour le panneau

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);
        }
Était-ce utile?

La solution

Le JPanel a le focus clavier?

Je vous suggère d'utiliser le InputMap et WHEN_IN_FOCUSED_WINDOW ou quelque chose de similaire. Extrait de Comment utiliser la clé Manchettes:

  

Les cartes d'entrée WHEN_IN_FOCUSED_WINDOW de tous les composants activés dans la fenêtre ciblée sont recherchés. Parce que l'ordre de recherche des composants est imprévisible

Cela a très robuste pour moi. Jetez un oeil à mon autre post pour plus d'informations et des exemples de code réel:

ou ce tutoriel: Swing: Comprendre carte d'entrée / action

question connexe:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top