IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

[AWT] Problème de KeyListener apparu après une migration de Java 1.3 vers 1.5


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Points : 149
    Points
    149
    Par défaut [AWT] Problème de KeyListener apparu après une migration de Java 1.3 vers 1.5
    Bonjour tout le monde,

    Alors j'ai une application qui était en Java 1.3, et elle vient d'être passée en 1.5. Tout fonctionnait et quelques régressions sont apparues entre temps du à la migration notamment celle-ci :

    J'ai une JInternalFrame accessible depuis un menu. Mais elle est également accessible par un raccourci clavier (à savoir la touche 'F5').

    Le problème est que lorsque j'appuie sur 'F5' ma fenêtre se démarre bien. Une fois que j'ai fini avec je la ferme par contre, dès que je souhaite la rappeler une nouvelle fois, j'ai beau appuyer sur 'F5', rien ne se passe, PIRE ENCORE, en débuggant je me suis rendu compte que mon listener n'était même pas appelé !

    J'ai d'autres raccourcis claviers qui eux fonctionnent tout le temps ('F1', 'F2', etc...) jusqu'à ce que j'appuies sur 'F5' et là mon listener ne tilte plus quand j'appuies sur une touche.

    Une idée ? La migration est bien entendu la "responsable" de tout cela mais ne connaissant pas suffisamment swing, si jamais c'est déjà arrivé à quelqu'un...

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Sauf que pour des raccourcis globaux en général on évite les KeyuListener et on passe plutôt par le mécanisme d'InputMap/ActionMap.

    Ton souci ressemble assez fort à un problème de focus, les InputMap/ActionMap permettant d'éviter ça.

    Cf http://download.oracle.com/javase/tu...eybinding.html


    Les KeyListener sont très dépendants du focus, donc plutôt à réserver dans l'utilisation de composants texte en général.

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Points : 149
    Points
    149
    Par défaut
    Merci !!!
    Ca devait bien être mon problème ça fonctionne maintenant !
    Je ne suis pas passé par des Input/Action Map mais j'ai en effet forcé le focus à la fermeture et ça fonctionne au poil ! Merci ^^

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Le truc est qu'une perte de focus est très vite arrivée. Le gros avantage des InputMaps est de pouvoir s'en abstraire.

    Ou alors il faut jouer avec L'AWTEventListener qui lui voit passer l'intégralité des Events survenant dans l'application.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec crystalreport après une migration de vb 2008 à vb 2012
    Par djelloharmel dans le forum Développement Windows
    Réponses: 1
    Dernier message: 14/03/2015, 20h26
  2. Gestion de l'auto-incrément après une migration
    Par 4rocky4 dans le forum Administration
    Réponses: 3
    Dernier message: 06/05/2009, 08h34
  3. Problème avec py2exe lors d'une migration 2.4 -> 2.6
    Par peterphonic dans le forum Py2exe
    Réponses: 1
    Dernier message: 28/01/2009, 15h38
  4. erreur apres une migration de 5.5 vers 6
    Par Ashen-Shugar dans le forum NetBeans
    Réponses: 2
    Dernier message: 04/01/2008, 08h58
  5. Changer le code apres une migration HF ->mysql
    Par phebus29 dans le forum WinDev
    Réponses: 1
    Dernier message: 23/06/2006, 19h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo