如何在Java 中監控擊鍵
在Java 中,偵測擊鍵涉及「監聽」KeyEvent,而不是顯式檢查特定鍵是否被按下。按下。以下是實現連續擊鍵監控的方法:
在偽代碼中,您所需的功能轉換為:
if (isPressing("w")) { // perform an action }
實現按鍵監控:
至監控擊鍵,需要註冊一個KeyEventDispatcher。這是一個實作:
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; } } }); } }
用法:
註冊 KeyEventDispatcher 後,您可以使用以下命令檢查鍵的狀態:
if (IsKeyPressed.isWPressed()) { // take desired action }
多個鍵:
要監視多個鍵,您可以擴展 IsKeyPressed 類別以包含鍵及其各自狀態的對應。
以上是如何在Java中持續監控擊鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!