> Java > java지도 시간 > Java에서 연속적인 키 누름을 어떻게 감지할 수 있습니까?

Java에서 연속적인 키 누름을 어떻게 감지할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-12-13 20:49:25
원래의
799명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿