Maison > Java > javaDidacticiel > le corps du texte

Comment puis-je attribuer des raccourcis clavier aux boutons en Java ?

Patricia Arquette
Libérer: 2024-10-24 04:09:02
original
946 Les gens l'ont consulté

How Can I Assign Keyboard Shortcuts to Buttons in Java?

Comment lier une touche de raccourci à un JButton en Java

En Java, vous pouvez attribuer des touches de raccourci aux boutons (par exemple, en cliquant sur le bouton La touche "Supprimer" déclenche un clic sur un bouton) en implémentant une action, en la liant à une frappe, puis en associant l'action au bouton.

Pour ce faire, suivez ces étapes :

  1. Créez une classe Action qui définit le comportement lorsque la touche de raccourci est enfoncée, généralement en utilisant une classe interne anonyme.
  2. Enregistrez l'action avec le bouton en utilisant un appel à bouton.addActionListener().
  3. Mappez la touche de raccourci à l'action à l'aide d'InputMap et d'ActionMap comme indiqué :

    • getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) récupère la carte d'entrée pour les événements de clavier lorsque le panneau de boutons a le focus.
    • put(KeyStroke, Object) associe la touche souhaitée à l'action.
    • getActionMap().put(Object, Action) associe l'action à la clé mappée.

Voici un exemple d'extrait de code qui implémente ces étapes :

<code class="java">public class CalculatorPanel extends JPanel {
    // ... (code removed for brevity)

    for (int i = 0; i < 10; i++) {
        String text = String.valueOf(i);
        JButton button = new JButton(text);
        // ... (code removed for brevity)

        InputMap inputMap = buttonPanel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
        inputMap.put(KeyStroke.getKeyStroke(text), text);
        inputMap.put(KeyStroke.getKeyStroke("NUMPAD" + text), text);
        buttonPanel.getActionMap().put(text, numberAction);
    }
}</code>
Copier après la connexion

Ce code définit une action qui insère la valeur de frappe dans un champ de texte lorsqu'elle est déclenchée. Lorsque les boutons sont créés, ils sont mappés à leurs touches respectives sur les pavés principal et numérique. De ce fait, un appui sur les touches correspondantes (ex : « 1 » ou « NUMPAD 1 ») active le bouton associé.

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
Derniers articles par auteur
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!