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

avec Java Discussion :

Pas de réponse KeyListener


Sujet :

avec Java

  1. #1
    Membre confirmé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Points : 480
    Points
    480
    Par défaut Pas de réponse KeyListener
    Bonjour,
    J'essaye d'utiliser KeyListener.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public class Viu extends javax.swing.JFrame implements KeyListener {
     public Viu()  {
            initComponents();
            addKeyListener(this);
     
        }
         public void keyTyped ( KeyEvent e ){  
      jLbIMk.setText("Key Typed");
     }  
      public void keyPressed ( KeyEvent e){  
      jLbIMk.setText ( "Key Pressed" ) ; 
      }  
      public void keyReleased ( KeyEvent e ){  
      jLbIMk.setText( "Key Released" ) ; 
      }
    Mais mon label reste désespérément vide
    Lorsque le sage montre la lune du doigt l'idiot regarde le doigt.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Bonjour,

    Le problème vient probablement que tu n'as pas le focus sur ta fenêtre au moment où tu tapes au clavier. Que veux tu faire exactement ? Est-ce que tu veux capter l'action clavier sur n'importe quel composant de ta fenêtre ou juste quand c'est ta fenêtre qui a le focus ?

    Dans le premier cas tu dois ajouter ton keylistner à chacun de tes éléments graphique ou utiliser un EventDispatcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    monJTextField1.addKeyListener(this);
    monJTextField2.addKeyListener(this);
    monJTextField3.addKeyListener(this);
    , dans le second cas tu dois rendre ta fenêtre focusable, et lorsqu'elle se lance tu rends le focus à ta fenêtre (par défaut c'est plutôt un champ ou un bouton qui aura le focus) :

    Romain.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Et si tu cherche juste un raccourcis précis, il suffit d'utiliser l'inputmap

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    frame.getContentPane().getInputMap(WHEN_IN_FOCUSED_WINDOW).put(keystroke,"action");
    frame.getContentPane().getActionMap().put("action",actionToRun);

Discussions similaires

  1. Serveur Client : pas de réponse !
    Par Canopus dans le forum Programmation et administration système
    Réponses: 5
    Dernier message: 20/06/2007, 16h02
  2. Réponses: 7
    Dernier message: 25/08/2006, 15h15
  3. [VB6] pas de réponse du code
    Par ashen dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/06/2006, 17h01

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