Java での連続キー押しの検出
ユーザーが特定のキーを押し続けているかどうかを確認するメカニズムを Java で確立しようとしています。この機能は、キーの押下を直接チェックするのではなく、キー イベントのリスニングを利用することで実現できます。
イベントベースのアプローチ
Java では、代わりにキー イベントを「リッスン」します。キーの押下をアクティブにチェックします。適切な解決策には、KeyEventDispatcher を登録し、リスナー実装内で目的のキーの状態を維持することが含まれます。
実装
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; } }
使用法
KeyEventDispatcher が登録されると、 isKeyPressed() メソッドを使用して、キーが現在押されているかどうかを判断します。
if (KeyPressListener.isKeyPressed()) { // Perform desired actions upon key press }
このアプローチにより、キーボード上の任意のキーを監視し、それに応じて応答することができます。実装を変更して特定のキーを追跡したり、複数のキーの状態を同時に処理するマップを作成したりできます。
以上がJava でキーの連続押しを検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。