2010-05-14 3 views
1

내 대답은 내가 키 수신기를 추가하려는 jPanel을 사용하고 있습니다. 나는 그것을했다. 그러나 그것은 작동하지 않습니다.KeyListener 문제

내가 스윙 워커를 사용하여 매초 패널의 내용을 업데이트하고 있기 때문에 그런가요? 여기

JPanel 키보드 포커스가 있습니까 패널

RenderedImage image = ImageIO.read(new ByteArrayInputStream((byte[]) get())); 
     Graphics graphics = remote.rdpanel.getGraphics(); 
     if (graphics != null) { 
      Image readyImage = new ImageIcon(UtilityFunctions.convertRenderedImage(image)).getImage(); 
      graphics.drawImage(readyImage, 0, 0, remote.rdpanel.getWidth(), remote.rdpanel.getHeight(), null); 
     } 

답변

3

를 업데이트하려면 코드인가?

InputMapWHEN_IN_FOCUSED_WINDOW 또는 비슷한 것을 사용하는 것이 좋습니다. How to Use Key Bindings에서 발췌 :

포커스가 설정된 창의 모든 활성화 된 구성 요소의 WHEN_IN_FOCUSED_WINDOW 입력 맵이 검색됩니다. 구성 요소 검색 순서는 예측할 수 없으므로

저에게는 매우 견고합니다.

또는이 튜토리얼 : Swing: Understanding Input/Action Maps

관련 질문 :

더 많은 정보와 실제 코드 예제에 대한 내 다른 게시물에서보세요