JavaTM Platform
Standard Ed. 6

java.awt
인터페이스 KeyEventDispatcher

기존의 구현 클래스의 일람:
DefaultFocusManager , DefaultKeyboardFocusManager , FocusManager , KeyboardFocusManager


public interface KeyEventDispatcher

KeyEventDispatcher 은, 모든 KeyEvents 의 타겟 지정과 발송에 관해서 현재의 KeyboardFocusManager 와 협력합니다. 현재의 KeyboardFocusManager 에 의해 등록된 KeyEventDispatchers 는, 각각의 타겟트궸스팟치 되기 전에 KeyEvents 를 받습니다. 이것에 의해, 각 KeyEventDispatcher 는 이벤트의 타겟의 재지정, 소비, 이벤트 자체의 발송, 또는 그 외의 변경을 실시할 수가 있습니다.  

KeyboardFocusManager 자체가 KeyEventDispatcher 를 구현하는 것에 주의해 주세요. 디폴트로, 현재의 KeyboardFocusManager 는, 등록된 KeyEventDispatchers 에 의해 발송 되지 않는 모든 KeyEvents 의 sink가 됩니다. 현재의 KeyboardFocusManager 는 KeyEventDispatcher 로서의 등록을 완전하게 해제할 수 없습니다. 다만, KeyEventDispatcher 가 실제로 발송 했는지 어떠했는지에 관계없이 KeyEvent 를 발송 한 것을 보고하는 경우는, KeyboardFocusManager 는 KeyEvent 에 관해서 그 이상의 처리는 실시하지 않습니다 (클라이언트 코드는, 현재의 KeyboardFocusManager 를 KeyEventDispatcher 로서 1 회 이상 등록하는 것은 가능합니다만, 일반적으로 이것은 불필요하고, 추천할 수 없습니다).

도입된 버젼:
1.4
관련 항목:
KeyboardFocusManager.addKeyEventDispatcher(java.awt.KeyEventDispatcher) , KeyboardFocusManager.removeKeyEventDispatcher(java.awt.KeyEventDispatcher)

메소드의 개요
 boolean dispatchKeyEvent (KeyEvent  e)
          이 메소드는, 현재의 KeyboardFocusManager 에 의해 불려 가 이 KeyEventDispatcher 가 그 메소드 대신에 지정된 이벤트를 발송 하도록(듯이) 요구합니다.
 

메소드의 상세

dispatchKeyEvent

boolean dispatchKeyEvent(KeyEvent  e)
이 메소드는, 현재의 KeyboardFocusManager 에 의해 불려 가 이 KeyEventDispatcher 가 그 메소드 대신에 지정된 이벤트를 발송 하도록(듯이) 요구합니다. 이 KeyEventDispatcher 는 자유롭게 이벤트의 타겟의 재지정, 이벤트의 소비, 이벤트 자체의 발송, 또는 그 외의 변경을 실시할 수가 있습니다. 일반적으로, 이 기능은 KeyEvents 를 포커스의 소유자 이외의 Components 에 송신하기 위해서 사용됩니다. 이것은, 예를 들어 액세스 가능한 환경에 있어 포커스 불가능한 Windows 의 아이를 안내할 경우에 도움이 됩니다. KeyEventDispatcher 가 KeyEvent 자체를 발송 하는 경우는,redispatchEvent 를 사용해, 현재의 KeyboardFocusManager 에 대해서 이 KeyEventDispatcher 가 재차 이벤트의 발송를 재귀적으로 요구하지 않게 해 주세요.  

이 메소드의 구현이 false 를 돌려주는 경우, KeyEvent 는 체인의 다음의 KeyEventDispatcher 에게 건네져 현재의 KeyboardFocusManager 로 종료합니다. 구현이 true 를 돌려주는 경우, KeyEvent 는 발송 된 것이라고 보여지고 (실제로 발송 될 필요는 없다), 현재의 KeyboardFocusManager 는 KeyEvent 에 관해서 더 이상의 처리를 실시하지 않습니다. 이러한 경우,KeyboardFocusManager.dispatchEvent 는과 같이 true 를 돌려줍니다. 구현이 KeyEvent 를 소비하는 것에도 불구하고 false 를 돌려주는 경우, 소비된 이벤트는 더 체인의 다음의 KeyEventDispatcher 에게 건네집니다. 개발자는 KeyEvent 가 타겟트궸스팟치 되기 전에 소비되고 있는지 어떤지를 체크하는 것이 중요합니다. 디폴트에서는, 현재의 KeyboardFocusManager 는 소비된 KeyEvent 를 발송 할 것은 없습니다.

파라미터:
e - 발송 하는 KeyEvent
반환값:
KeyboardFocusManager 가 KeyEvent 에 관해서 더 이상의 처리를 실시하지 않는 경우는 true, 그렇지 않은 경우는 false
관련 항목:
KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.