在需要持續監控使用者按鍵的 Java 程式中,建立偵測鍵盤輸入的機制至關重要。 Java 中的傳統方法不是直接檢查按鍵是否被按下,而是監聽鍵盤事件。
要監視按鍵,可以利用KeyEventDispatchers。這些調度程序負責處理鍵盤事件並將它們調度到適當的事件偵聽器。
考慮以下Java 程式碼片段,它示範如何建立和註冊KeyEventListener 來追蹤狀態'w' 鍵的:
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; } } }); } }
if (IsKeyPressed.isWPressed()) { // Perform desired actions }這種方法允許連續監視按鍵,而不需要不斷輪詢或條件檢查。 KeyEventDispatcher 管理按鍵事件的偵測和調度,為監控使用者輸入提供強大且有效率的機制。
以上是如何在 Java 中持續監控按鍵事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!