2012-10-28 5 views
0

쓰기를 원하는 응용 프로그램은 상당히 크지 만 서비스로 실행해야합니다. FireDaemon을 사용하여 변환하고 서비스로 실행할 계획이지만 특정 키를 누를 때까지 아무것도하지 않아도됩니다.Java 키 누르기를 기다리는 중

do { 
    char keyPressed = input.readChar(); 
} while (keyPushed != null); 

System.out.println("You pushed: " + keyPushed); 

이 간단한 주제에 대한 모든 많은 정보가 없다 나는 이상한 것을 발견 : 키 누름을 기다릴 것 루프, 이런 일이 동안

나는/DataInputStream와 DO를 사용하여 시도 . Basic에서 우리는 키를 기다리는 inkey $를 사용했지만, Java는 비슷한 것을 가지고 있어야하지만, 나는 그것에 손가락을 넣을 수 없습니다.

도움이 될 것입니다.

감사합니다. 밥 그랜트, 펜실베니아

에 대해 어떻게
+1

readChar가 차단 호출 -

이 문서에서는 조금 당신을 도움이 될 것입니다. 별도의 스레드에서 키 누르기를 듣고 싶습니까? –

답변

0

:

if (System.in.available() > 0) 
    System.in.read(); 
0

나는 귀하의 질문에 제대로, 특정 키 조합 될 때까지 윈도우 OS에 백그라운드에서 실행하는 응용 프로그램을하고자하는 읽으면를 입력 - 예를 들어, 단축키. 자바만으로는 이것을 할 수 없으며, sdk는 그러한 인터페이스를 제공하지 않습니다. C로 도우미 응용 프로그램을 작성하고 JNI를 브리지로 사용해야합니다. Global hotkeys for Java applications under Windows OS

관련 문제