Heim >Java >javaLernprogramm >Wie überwacht man Tastenanschläge in Java kontinuierlich?

Wie überwacht man Tastenanschläge in Java kontinuierlich?

Susan Sarandon
Susan SarandonOriginal
2024-12-11 11:41:17833Durchsuche

How to Continuously Monitor Keystrokes in Java?

So überwachen Sie Tastenanschläge in Java

In Java umfasst das Erkennen von Tastenanschlägen das „Abhören“ von KeyEvents, anstatt explizit zu prüfen, ob ein bestimmter Schlüssel vorhanden ist gedrückt. So können Sie eine kontinuierliche Tastenanschlagsüberwachung erreichen:

Im Pseudocode bedeutet Ihre gewünschte Funktionalität:

if (isPressing("w")) {
   // perform an action
}

Implementieren der Tastenanschlagsüberwachung:

Zu Um Tastenanschläge zu überwachen, müssen Sie einen KeyEventDispatcher registrieren. Hier ist eine Implementierung:

import java.awt.KeyEventDispatcher;
import java.awt.KeyboardFocusManager;
import java.awt.event.KeyEvent;

public class IsKeyPressed {
    private static volatile boolean wPressed = false;
    public static boolean isWPressed() {
        synchronized (IsKeyPressed.class) {
            return wPressed;
        }
    }

    public static void main(String[] args) {
        KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {

            @Override
            public boolean dispatchKeyEvent(KeyEvent ke) {
                synchronized (IsKeyPressed.class) {
                    switch (ke.getID()) {
                    case KeyEvent.KEY_PRESSED:
                        if (ke.getKeyCode() == KeyEvent.VK_W) {
                            wPressed = true;
                        }
                        break;

                    case KeyEvent.KEY_RELEASED:
                        if (ke.getKeyCode() == KeyEvent.VK_W) {
                            wPressed = false;
                        }
                        break;
                    }
                    return false;
                }
            }
        });
    }
}

Verwendung:

Sobald der KeyEventDispatcher registriert ist, können Sie den Status eines Schlüssels überprüfen mit:

if (IsKeyPressed.isWPressed()) {
    // take desired action
}

Mehrere Schlüssel:

Um mehrere Schlüssel zu überwachen, können Sie Erweitern Sie die IsKeyPressed-Klasse um eine Karte der Tasten und ihrer jeweiligen Zustände.

Das obige ist der detaillierte Inhalt vonWie überwacht man Tastenanschläge in Java kontinuierlich?. 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