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

Agents de placement/Fenêtres Java Discussion :

GlassPane et keyStroke


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut GlassPane et keyStroke
    Bonjour !

    j'essaie d'intercepter la frappe des touches du clavier au moyen du GlassPane... ça n'a pas l'air de marcher, le showMessageDialog du JOptionPane n'affiche rien.
    comment faire ça (si c'est possible) ? voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     getRootPane().getGlassPane().setVisible(true);      
     getRootPane().getGlassPane().addKeyListener(new java.awt.event.KeyAdapter() {       
        public void keyPressed(java.awt.event.KeyEvent evt) {         
                JOptionPane.showMessageDialog(null, " clavier ");        
        }
     });
    A noter que pour intercepter un clic ça marche (avec addMouseListener bien sûr).

    merci !

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    As tu essayé avec les InpuMap / ActionMap ?

  3. #3
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    S'il ne reçoit pas les KeyListener c'est surement qu'il ne possède pas le focus...

    Que voudrais-tu faire exactement ?

    a++

  4. #4
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    Bingo !

    je lui requeste mon focus dans la window et ça marche.
    merci adiGuba !

    Le but : gérer tous les raccourcis claviers de ma forme de façon centralisée, (comme le keyPreview de Delphi qui est très pratique pour ça).
    L'ennui c'est que le GlassPane ne laisse pas traverser la frappe ou le clic : il faut coder ça soi-même à la main;
    L'autre, là (oui, Delphi) était traversant, keyPreview ne prenait pas le focus, c'était juste une sorte de filtre intermédiaire où intervenir, on mettait la valeur de la clé à zéro pour annuler la frappe si nécessaire, sinon elle atterrissait dans le composant qui a le focus.

    dans un prochain release de java ?

    bonne soirée à tous !

  5. #5
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Pour cela on utilise plutôt les InpuMap / ActionMap comme indiqué par fr1man...

    a++

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ou alors l'AWTEventListener, mais là on entre dans l'artillerie lourde vu qu'il voit passer tous les events de l'appli de façon traversante.

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

Discussions similaires

  1. KeyStroke.getKeyStroke Savoir quelle touche est appuyée
    Par oOoOuuhmAn dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 08/06/2008, 20h48
  2. Réponses: 2
    Dernier message: 10/05/2006, 18h24
  3. [SWING][GlassPane] comment rendre un fond transparent ?
    Par PoPeio dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/04/2006, 02h55
  4. [MouseListener] sur plusieurs composants... GlassPane ?
    Par lilou77 dans le forum Composants
    Réponses: 7
    Dernier message: 05/12/2005, 11h13
  5. [KeyStroke] Raccourci de type Ctrl+C, T
    Par Invité dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 27/08/2005, 13h21

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