Maison > Java > javaDidacticiel > le corps du texte

Comment attribuer des touches de raccourci aux JButtons en Java ?

DDD
Libérer: 2024-10-24 02:58:02
original
263 Les gens l'ont consulté

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!