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

Composants Java Discussion :

Le binding des mes SetAccelerator ne fonctionne pas


Sujet :

Composants Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 70
    Points : 41
    Points
    41
    Par défaut Le binding des mes SetAccelerator ne fonctionne pas
    Bonjour a tous,

    Jai recemment ajouter des SetAccelerator a mes MenuItem. Mais lorsque je suis "n'importe ou" dans mon application, les action a perform attribuees aux item ne s'executent pas lorsque je tape la combinaison de touche correspondante (un simple Ctrl+C par exemple) . Il faut que deja un train de cliquer sur n'importe quel menu de mon application pour que mon appli capte que je suis en train de faire Ctrl+V.
    Peut etre y a t il quelques chose qui me vole le focus sans arret. Savez vous comment fonctionne le captage de touche pour ces accelerateurs ? Ils ecoutent quoi et ou ?
    Je precise que l'application sur laquelle je travail utilise Jide et le DockableFramework.

    Merci

  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 : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah c'est un peu le but des accelerators, d'accélérer l'accès à des MenuItems lorsque l'on se trouve dans le menu...

    Si tu veux des raccourcis globaux à ton applis je te conseille plutôt d'aller voir en direction des concepts d'InputMap et d'ActionMap.

    http://java.sun.com/docs/books/tutor...eybinding.html.


    Soit dit en passant, mieux vaut éviter de binder des raccourcis sur CTRL+V et Ctrl+C globaux. Car ceux ci sont déjà bindés pour tous les composants de type texte....
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 70
    Points : 41
    Points
    41
    Par défaut
    Oui oui merci j'utilise deja les InputMap/ActionMap. Mais ma question cetait plutot qu'est ce qui pourrait bien empecher mon menu et ces item d'entendre mes KeyStroke et du coup de pas trigger mes accelerateur ...

    Ces accelerateurs devraient fonctionner peu importe ce qu'il y a dans Frame non ?

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sinok Voir le message
    Bah c'est un peu le but des accelerators, d'accélérer l'accès à des MenuItems lorsque l'on se trouve dans le menu...
    Tu confonds avec les Mnemonics

    Les Accelerators peuvent prendre n'importe quelle combinaison de touche et sont bien valide sur toute la fenêtre... comme les InputMap/ActionMap


    Citation Envoyé par k-koo Voir le message
    Oui oui merci j'utilise deja les InputMap/ActionMap. Mais ma question cetait plutot qu'est ce qui pourrait bien empecher mon menu et ces item d'entendre mes KeyStroke et du coup de pas trigger mes accelerateur ...

    Ces accelerateurs devraient fonctionner peu importe ce qu'il y a dans Frame non ?
    Oui... mais le composant ayant le focus peut empêcher l'évènement de remonter en le "consommant".

    Si dans un listener tu utilises la méthode consume() sur ton KeyEvent, ce dernier ne sera pas remonté aux parents et l'accelerator/InputMap ne sera donc pas exécuté.


    C'est ce qui arrive sur les champs texte avec les Ctrl+X, Ctrl+C et Ctrl+V par exemple...


    a++

Discussions similaires

  1. [MySQL] Code PHP sur des UPDATE qui ne fonctionne pas
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/10/2007, 11h57
  2. La modification des fichiers jsp ne fonctionne pas
    Par red210 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/09/2007, 14h11
  3. [VS2003] : création des dataset qui ne fonctionne pas
    Par skystef dans le forum Visual Studio
    Réponses: 0
    Dernier message: 20/08/2007, 16h11
  4. Mes Sessions Ne Fonctionne Pas
    Par bebas dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2007, 09h27
  5. Des tableaux qui ne fonctionnent pas ?
    Par kevinf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 18/12/2006, 19h22

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