Heim  >  Artikel  >  Java  >  Wie kann ich Tasten in Java Tastenkombinationen zuweisen?

Wie kann ich Tasten in Java Tastenkombinationen zuweisen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-24 04:09:02940Durchsuche

How Can I Assign Keyboard Shortcuts to Buttons in Java?

So binden Sie eine Tastenkombination an einen JButton in Java

In Java können Sie Schaltflächen Tastenkombinationen zuweisen (z. B. das Klicken auf). Die Taste „Löschen“ löst einen Klick auf eine Schaltfläche aus, indem eine Aktion implementiert, an einen Tastendruck gebunden und die Aktion dann mit der Schaltfläche verknüpft wird.

Führen Sie dazu die folgenden Schritte aus:

  1. Erstellen Sie eine Aktionsklasse, die das Verhalten beim Drücken der Tastenkombination definiert, normalerweise unter Verwendung einer anonymen inneren Klasse.
  2. Registrieren Sie die Aktion mit der Schaltfläche mithilfe eines Aufrufs von button.addActionListener().
  3. Ordnen Sie die Tastenkombination mithilfe von InputMap und ActionMap wie gezeigt der Aktion zu:

    • getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) ruft die Eingabezuordnung für Tastaturereignisse ab, wenn das Tastenfeld den Fokus hat.
    • put(KeyStroke, Object) verknüpft die gewünschte Taste mit der Aktion.
    • getActionMap().put(Object, Action) verknüpft die Aktion mit der zugeordneten Taste.

Hier ist ein Beispiel-Codeausschnitt, der diese Schritte implementiert:

<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>

Dieser Code definiert eine Aktion, die den Tastendruckwert bei Auslösung in ein Textfeld einfügt. Wenn die Tasten erstellt werden, werden sie den jeweiligen Tasten sowohl auf dem Haupt- als auch auf dem Ziffernblock zugeordnet. Dadurch wird durch Drücken der entsprechenden Tasten (z. B. „1“ oder „NUMPAD 1“) die zugehörige Schaltfläche aktiviert.

Das obige ist der detaillierte Inhalt vonWie kann ich Tasten in Java Tastenkombinationen zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn