Rumah > Java > javaTutorial > Bagaimana untuk Memantau Ketukan Kekunci Secara Berterusan di Java?

Bagaimana untuk Memantau Ketukan Kekunci Secara Berterusan di Java?

Susan Sarandon
Lepaskan: 2024-12-11 11:41:17
asal
829 orang telah melayarinya

How to Continuously Monitor Keystrokes in Java?

Cara Memantau Ketukan Kekunci dalam Java

Di Java, pengesanan ketukan kekunci melibatkan "mendengar" KeyEvents dan bukannya menyemak secara eksplisit sama ada kunci tertentu ditekan. Begini cara anda boleh mencapai pemantauan ketukan kekunci berterusan:

Dalam pseudokod, kefungsian yang anda inginkan diterjemahkan kepada:

if (isPressing("w")) {
   // perform an action
}
Salin selepas log masuk

Melaksanakan Pemantauan Ketukan Kekunci:

Kepada memantau ketukan kekunci, anda perlu mendaftarkan KeyEventDispatcher. Berikut ialah pelaksanaan:

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;
                }
            }
        });
    }
}
Salin selepas log masuk

Penggunaan:

Setelah KeyEventDispatcher didaftarkan, anda boleh menyemak keadaan kunci menggunakan:

if (IsKeyPressed.isWPressed()) {
    // take desired action
}
Salin selepas log masuk

Berbilang Kekunci:

Untuk memantau berbilang kekunci, anda boleh melanjutkan kelas IsKeyPressed untuk memasukkan peta kunci dan keadaan masing-masing.

Atas ialah kandungan terperinci Bagaimana untuk Memantau Ketukan Kekunci Secara Berterusan di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan