여러 JFrame이 필요한 앱을 개발 중입니다. JFrame은 파일에 기록한 다음 삭제합니다. KeyListener가 각 클래스에서 KeyListener를 만들 필요없이 전체 프로젝트에서 동일한 키 누름을 수신하도록하고 싶습니다. 방법이 있습니까?전체 프로젝트에 KeyListener를 추가하려면 어떻게해야합니까?
답변
나는 key bindings을 사용해야한다는 것에 동의하지만, 허용 된 대답을 삭제할 수 없으므로이 부분을 남겨 두어야합니다.
@ Justin : "모든 문제에 대해 단순하고 우아하고 잘못된 솔루션이 있습니다."이것은 중요한 사례입니다. 포커스를 요청하는 GUI에 구성 요소를 추가하자 마자 실패하게되므로 작동하지 않습니다. –
이 맞지만, 위의 코드를 활용하여 Keylistener를 임의의 구성 요소에 추가 할 수 있습니다. –
-1, KeyListener를 사용하는 것은 좋지 않습니다. 모든 구성 요소에 키 수신기를 추가하는 끔찍한 솔루션입니다. – camickr
- 1. 프로젝트에 헤더 폴더를 추가하려면 어떻게해야합니까?
- 2. 프로젝트에 웹 서비스를 추가하려면 어떻게해야합니까?
- 3. 새 gitosis 프로젝트에 사용자를 추가하려면 어떻게해야합니까?
- 4. trigger.io 프로젝트에 다른 공동 작업자를 추가하려면 어떻게해야합니까?
- 5. iPhone에 전체 화면 iAd를 추가하려면 어떻게해야합니까?
- 6. 코코아 터치에서 전체 화면보기를 추가하려면 어떻게해야합니까?
- 7. C에서 라이브러리를 추가하려면 어떻게해야합니까?
- 8. 프로젝트에 XML 파일을 추가하려면 어떻게합니까?
- 9. 프로젝트에 BIRT 기능을 추가하려면 어떻게합니까?
- 10. C++ 프로젝트에 타이머를 추가하려면 어떻게합니까?
- 11. svn을 통해 체크 아웃해야하는 프로젝트에 Maven 의존성을 추가하려면 어떻게해야합니까?
- 12. 내 django 프로젝트에 css 및 jquery 파일을 추가하려면 어떻게해야합니까?
- 13. 칼 프레임 워크를 iPhone 프로젝트에 제대로 추가하려면 어떻게해야합니까?
- 14. Java에서 KeyListener를 어떻게 사용합니까?
- 15. Visual Studio 2010에서 VSTO 프로젝트에 대한 참조를 WiX Installer 프로젝트에 추가하려면 어떻게해야합니까?
- 16. href 속성을 확인하고 필요한 경우 전체 URL 주소를 추가하려면 어떻게해야합니까?
- 17. JW Player - 전체 화면 전환을 위해 이벤트 수신기를 추가하려면 어떻게해야합니까?
- 18. Perl : Perl 스크립트의 전체 경로에 따옴표를 추가하려면 어떻게해야합니까?
- 19. JScrollBar, keyListener를 제거 하시겠습니까?
- 20. Keylistener를 JFrame에 추가하는 방법
- 21. importXml 메서드에 파일을 추가하려면 어떻게해야합니까?
- 22. confluence.pm에 라벨을 추가하려면 어떻게해야합니까?
- 23. * args에 해시를 추가하려면 어떻게해야합니까?
- 24. trasparent 뷰를 추가하려면 어떻게해야합니까?
- 25. xpath에 주석을 추가하려면 어떻게해야합니까?
- 26. 문자열에도 기호를 추가하려면 어떻게해야합니까?
- 27. 요소에 키를 추가하려면 어떻게해야합니까?
- 28. JPanel에 클래스를 추가하려면 어떻게해야합니까?
- 29. NopCommerce 플러그인에서보기를 추가하려면 어떻게해야합니까?
- 30. netbeans에 글꼴을 추가하려면 어떻게해야합니까?
일반적으로 키 바인딩을 사용하지만 리스너 또는 바인딩 여부는 여전히 구성 요소와 관련되어 있습니다. 그건 그렇고, 멍청한 것에 대해 유감 스럽지만 JFrames를 바꾸는 디자인은 악취가납니다. 대신 CardLayout을 통해 JPanels를 바꿀 수 없습니까? 사용자는이 점을 높이 평가할 것입니다. –
아, 그건 생각 못했어요. 나는 쉽게 가장 나쁜 실수를 저질 렀습니다. 고맙습니다. 카드 레이아웃을 사용하고 프로그램 시작시 키 바인딩을 추가 할 수 있습니다. – Notchos
* "여러 개의 JFrames가 필요한 앱을 개발 중입니다."* 아니야. 하나의 화면에 많은 GUI 요소를 포함시키는 12 가지의 다른 방법이 있습니다. –