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 }
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; } } }); } }
Penggunaan:
Setelah KeyEventDispatcher didaftarkan, anda boleh menyemak keadaan kunci menggunakan:
if (IsKeyPressed.isWPressed()) { // take desired action }
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!