사용자가 몇 가지 바로 가기 키를 누르면 내 프로그램이 기본 창을 숨김 해제하고 싶습니다. 포커스가 어플리케이션 프레임 안에있을 때 일어난 것뿐만 아니라 글로벌 키 이벤트를 얻을 수있는 방법이 있습니까?JFrame없이 키보드 이벤트를 얻을 수있는 방법이 있습니까?
2
A
답변
3
원하는대로 할 수 있습니다. 이 코드는 Ctr-F 키 스트로크를 확인합니다. 이 코드를 사용하여 응용 프로그램의 모든 항목에서 찾기 대화 상자를 엽니 다. 나는 애플 리케이션이 비록 초점을 가지고 있다고 확신한다. 적어도 시도하려고하는 것 ...
AWTEventListener listener = new AWTEventListener() {
@Override
public void eventDispatched(AWTEvent event) {
try {
KeyEvent evt = (KeyEvent)event;
if(evt.getID() == KeyEvent.KEY_PRESSED && evt.getModifiers() == KeyEvent.CTRL_MASK && evt.getKeyCode() == KeyEvent.VK_F) {
}
}
catch(Exception e) {
e.printStackTrace();
}
}
};
Toolkit.getDefaultToolkit().addAWTEventListener(listener, AWTEvent.KEY_EVENT_MASK);
EDIT : 당신이 원하는 것을 이해할 것이라고 생각합니다. 기본적으로 응용 프로그램에 포커스가 없을 때. 그렇다면 네이티브 API (JNI)를 사용하여 OS 이벤트에 연결해야하지만 특정 OS로 전환해야합니다.
3
This이 유용 할 수 있습니다. Windows/Linux/Mac에서 작동하는 라이브러리가 있는지 확실하지 않습니다. Windows의 경우 기본 코드를 사용하여 키보드 후크를 만드는 외부 라이브러리가 필요합니다. 나는 다른 OS에서 어떻게하는지 잘 모른다.
관련 문제
- 1. 그래프 API로 친구 이벤트를 얻을 수있는 방법이 있습니까
- 2. gvim : 문자열 배열을 얻을 수있는 방법이 있습니까?
- 3. pydev에서 REPL을 얻을 수있는 방법이 있습니까?
- 4. 특정 UIImageView 속성을 얻을 수있는 방법이 있습니까?
- 5. XUL에서 프로세스의 피드백을 얻을 수있는 방법이 있습니까?
- 6. jQuery에서 이벤트를 위임 할 수있는 방법이 있습니까?
- 7. Perl로 키보드 이벤트를 가로 챌 수 있습니까?
- 8. 키보드 유형을 지정하는 방법이 있습니까?
- 9. VS 키보드 단축키를 만들거나 바꿀 수있는 방법이 있습니까
- 10. iPhone의 키보드 모양과 크기를 사용자 정의 할 수있는 방법이 있습니까?
- 11. 루비에서 모든 변수를 얻을 수있는 방법이 있나요?
- 12. 자바 스크립트없이 PHP에서 이미지의 크기를 "쉽게"얻을 수있는 방법이 있습니까?
- 13. iPhone 용 이동 통신사 정보를 얻을 수있는 방법이 있습니까?
- 14. pcrecpp에서 PREMATCH ($`)와 POSTMATCH ($ ')를 얻을 수있는 방법이 있습니까?
- 15. AS3의 플래시에서 실제 사진 필터를 얻을 수있는 방법이 있습니까?
- 16. 요청마다 컴파일 된 자산을 얻을 수있는 방법이 있습니까?
- 17. 왜 DirectShow에서 필터 그래프 매니저를 얻을 수있는 많은 방법이 있습니까?
- 18. 안드로이드 2.2 또는 2.1에서리스트 뷰 overscroll을 얻을 수있는 방법이 있습니까?
- 19. HttpPostedFile 클래스를 사용하여 업로드 진행률을 얻을 수있는 방법이 있습니까?
- 20. Sainsburys와 BP 차고를 연결하여 함께있는 장소를 얻을 수있는 방법이 있습니까?
- 21. Apache Httpclient를 사용할 때 다운로드 상태를 얻을 수있는 방법이 있습니까?
- 22. NHibernate - 예외로부터 더 많은 정보를 얻을 수있는 방법이 있습니까?
- 23. PHP에서 인코딩 된 MySQL 테이블을 얻을 수있는 방법이 있습니까?
- 24. 파이썬에서는 함수로 전달 된 인수를 객체로 얻을 수있는 방법이 있습니까?
- 25. Git에서는 임의의 커밋에 대해 "친숙한"이름을 얻을 수있는 방법이 있습니까?
- 26. 지정된 사용자의 트윗에서 모든 트윗을 얻을 수있는 방법이 있습니까?
- 27. iPhone 시뮬레이터에서 세 손가락 터치를 얻을 수있는 방법이 있습니까
- 28. ActionScript에서 최상위 응용 프로그램을 얻을 수있는 방법이 있습니까?
- 29. 어떤 창에서 클릭 한 결과를 얻을 수있는 방법이 있습니까?
- 30. 자동으로 값을 초기화하는 스칼라 HashMap을 얻을 수있는 방법이 있습니까? '
슬픈. 플랫폼에 독립적 인 방법이 있기를 바란다. ( – Rogach
아래에 altanis가 제공하는 링크를 확인한다. Java에없는 이유에 대한 약간의 논의가있다. 아마도 OSX에는없는 것 같다. 그게 사실인지 거짓인지 알기에 충분한 OSX 프로그래밍을하지 못했습니다 ... – Merky