Maison  >  Article  >  Java  >  Comment attribuer des touches de raccourci aux JButtons en Java ?

Comment attribuer des touches de raccourci aux JButtons en Java ?

DDD
DDDoriginal
2024-10-24 02:58:02264parcourir

How to Assign Shortcut Keys to JButtons in Java?

Attribuer des touches de raccourci aux JButtons en Java

Lorsque vous travaillez avec des interfaces utilisateur, il est souvent pratique de fournir des touches de raccourci pour les actions courantes à améliorer efficacité des utilisateurs. Dans Java Swing, vous pouvez attribuer des touches de raccourci aux JButtons pour déclencher des actions spécifiques avec la saisie au clavier.

Solution :

Pour attribuer une touche de raccourci à un JButton, vous devez pour créer une action qui encapsule le comportement souhaité. Cette action peut ensuite être liée au JButton et à un KeyStroke pour établir la touche de raccourci.

Étapes :

  1. Créer une action : Définissez une classe Action qui étend AbstractAction. Dans la méthode actionPerformed(), spécifiez le code à exécuter lorsque l'action est invoquée.
  2. Liez l'action au JButton : Associez l'action au JButton à l'aide de la méthode addActionListener() .
  3. Enregistrez le KeyStroke : Mappez la touche de raccourci souhaitée à l'action à l'aide des méthodes getInputMap() et ActionMap().
  4. Liez le KeyStroke au Mappage d'entrée : À l'aide de la méthode put() d'InputMap, spécifiez le KeyStroke à mapper à l'action définie.

Exemple d'implémentation :

L'extrait de code suivant montre comment ajouter une touche de raccourci (par exemple, « Entrée ») à un JButton :

<code class="java">import javax.swing.*;
import java.awt.event.*;

public class ShortcutKeyButton {

    public static void main(String[] args) {
        JButton button = new JButton("Click Me");

        // Create an Action for the button
        Action action = new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("Button clicked!");
            }
        };

        // Bind the Action to the JButton
        button.addActionListener(action);

        // Register the KeyStroke
        InputMap inputMap = button.getInputMap(JComponent.WHEN_FOCUSED);
        KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
        inputMap.put(keyStroke, "ENTER");
        button.getActionMap().put("ENTER", action);
    }
}</code>

Ressources supplémentaires :

  • Swing Tutoriel : Comment utiliser les actions
  • Tutoriel Swing : Comment utiliser les liaisons de touches

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn