2014-02-22 2 views
0

JNativeHook을 사용하여 키 누름을 수신합니다. 키가 눌려 졌을 때 컴퓨터가 키를 4 번 입력한다고 가정하면 각 JNativeHook 메서드는 그 이상을 등록합니다. JNativeHook는 키 보류 중에 원하는 것보다 많은 keyPress를 등록합니다.

내가 시도 :

public void nativeKeyReleased(NativeKeyEvent e) { 
System.out.println("registered key release"); 
} 
public void nativeKeyPressed(NativeKeyEvent e) { 
System.out.println("registered key press"); 
} 
public void nativeKeyTyped(NativeKeyEvent e) { 
System.out.println("registered key type"); 
} 

이러한 모든 방법을 키를 누르고있는 동안 키 입력의 잘못된 금액을 등록합니다. 이것이 JNativeHook 라이브러리의 결함이라고 생각하지 않습니다. JNativeHook 라이브러리는 글로벌이라는 점을 제외하고는 Java의 KeyListener와 거의 동일하기 때문에.

미리 감사드립니다.

답변

2

사용자가 키를 누르면 keyPressed가 호출 된 다음 keyTyped가 호출되고 마지막으로 사용자가 키에서 손가락을 떼면 keyReleased가 호출됩니다. 어떤 일이 일어나고 있는지를 이해하기 위해 "등록 된"곳을 입력하는 대신 keyPressed, keyTyped 및 keyReleased 메시지를 인쇄 해보십시오.

+0

코드는 예제 일뿐입니다. 실제 프로그램에서는 세 명이 모두 필요한 것보다 더 많이 등록되었음을 확인할 수 있습니다. –

+0

문제가 고정 될 수 있도록 실제로 작성한 코드를 표시하십시오. –

0

코드는 예제 일뿐입니다. 실제 프로그램에서는 세 명이 모두 필요한 것보다 더 많이 등록되었음을 확인할 수 있습니다.

그런 경우에도 여전히 문제가 발생하는 경우 report a bug을 입력하십시오. 검색 가능한 자동 반복이 어떤 이유로 플랫폼에서 활성화되지 않았습니다.

관련 문제