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

Wie überwacht man Tastenanschläge in Java kontinuierlich?

Susan Sarandon
Freigeben: 2024-12-11 11:41:17
Original
829 Leute haben es durchsucht

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
}
Nach dem Login kopieren

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;
                }
            }
        });
    }
}
Nach dem Login kopieren

Verwendung:

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

if (IsKeyPressed.isWPressed()) {
    // take desired action
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage