Les partenaires publicitaires:

Comment faire pour détecter une pression de touche en Java

Bien que la plupart des besoins pour obtenir l'entrée d'utilisateur sont traitées assez facilement in Swing via des composants standard - par exemple, l'obtention du texte via un composant JTextField - il est parfois nécessaire pour obtenir les touches exactes de l'utilisateur. Peut-être une combinaison de touches spécifique entraînera une certaine action, ou peut-être vous voulez empêcher certains traits principaux d'avoir leur effet par défaut, par exemple en permettant seulement des caractères alphabétiques dans une zone de texte. Quel que soit le scénario, obtenir la clé l'utilisateur pressé est simple.

Choses que vous devez

  • SDK Java
  • Environnement de développement intégré, comme Eclipse ou NetBeans, recommandée mais pas obligatoire

Instructions

  1. Créer une classe simple qui crée et affiche un JFrame pour l'instant:

    importation java.awt.Dimension-

    importation java.lang.reflect.InvocationTargetException-

    importation javax.swing.JFrame-

    importation javax.swing.SwingUtilities-

    KeyPressTester public final class implémente Runnable {

    main (String [] args) public static void jette InterruptedException, InvocationTargetException {

    SwingUtilities.invokeAndWait (nouvelle KeyPressTester ()) -

    }

    Override

    public void run () {

    frame = new JFrame ("KeyPress Tester") -

    frame.setSize (nouvelle dimension (800, 600)) -

    frame.setVisible (true) -

    }




    JFrame cadre privé

    }

  2. Modifiez la méthode run () pour ajouter un KeyListener au cadre avec la mise en œuvre suivantes:

     frame.addKeyListener (nouvelle KeyListener () {

    Override

    public void keyTyped (KeyEvent e) {

    }

    Override

    public void keyReleased (e KeyEvent) {

    }

    Override

    public void keyPressed (e KeyEvent) {

    System.out.println ("Touche Caractère: " + E.getKeyChar () + "- Code clé: " + KeyEvent.getKeyText (e.getKeyCode ())) -

    }

    }) -

  3. Compiler et exécuter le programme. Si vous appuyez sur une touche lorsque le cadre a le focus, vous devriez voir la sortie de la console qui décrit la touche enfoncée, incluant à la fois le caractère de texte réel (si disponible) et le texte de la clé, tels que Shift, Ctrl, Backspace, etc.

Conseils & Avertissements

  • Examinez les autres méthodes disponibles sur le paramètre KeyEvent fourni. Ils peuvent être utilisés pour indiquer que l'utilisateur a appuyé sur une touche de modification, tel que "Alt" ou "Ctrl," avec la clé spécifiée, et la différence entre, par exemple, sur les touches Maj gauche et droite. Aussi explorer les deux autres événements disponibles dans le KeyListener, keyTyped et keyReleased, comme ils piège légèrement différentes versions des événements clés du conseil et peut-être plus applicable à des situations différentes.
» » » » Comment faire pour détecter une pression de touche en Java