Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengesan Penekanan Kekunci Berterusan di Jawa?

Bagaimanakah Saya Boleh Mengesan Penekanan Kekunci Berterusan di Jawa?

Patricia Arquette
Patricia Arquetteasal
2024-12-13 20:49:25802semak imbas

How Can I Detect Continuous Key Presses in Java?

Pengesanan Tekan Kekunci Berterusan di Java

Anda berusaha untuk mewujudkan mekanisme di Java untuk memastikan sama ada pengguna terus menekan kekunci tertentu. Kefungsian ini boleh dicapai dengan menggunakan mendengar acara utama dan bukannya memeriksa tekanan kekunci secara terus.

Pendekatan Berasaskan Peristiwa

Di Java, anda "mendengar" acara utama sebaliknya memeriksa secara aktif untuk menekan kekunci. Penyelesaian yang sesuai melibatkan pendaftaran KeyEventDispatcher dan mengekalkan keadaan kunci yang dikehendaki dalam pelaksanaan pendengar.

Pelaksanaan

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

public class KeyPressListener {
    private static volatile boolean isKeyPressed = false;

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

            @Override
            public boolean dispatchKeyEvent(KeyEvent ke) {
                switch (ke.getID()) {
                    case KeyEvent.KEY_PRESSED:
                        isKeyPressed = true;
                        break;

                    case KeyEvent.KEY_RELEASED:
                        isKeyPressed = false;
                        break;
                }
                return false;
            }
        });
    }

    public static boolean isKeyPressed() {
        return isKeyPressed;
    }
}

Penggunaan

Setelah KeyEventDispatcher didaftarkan, anda boleh menggunakan kaedah isKeyPressed() untuk menentukan sama ada kekunci sedang ditekan.

if (KeyPressListener.isKeyPressed()) {
    // Perform desired actions upon key press
}

Pendekatan ini membolehkan anda memantau sebarang kekunci pada papan kekunci dan bertindak balas dengan sewajarnya. Anda boleh mengubah suai pelaksanaan untuk menjejak kunci tertentu atau membuat peta untuk mengendalikan berbilang keadaan kunci serentak.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Penekanan Kekunci Berterusan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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