ホームページ > Java > &#&チュートリアル > Java でキーの連続押しを検出するにはどうすればよいですか?

Java でキーの連続押しを検出するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-13 20:49:25
オリジナル
802 人が閲覧しました

How Can I Detect Continuous Key Presses in Java?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート