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!