This page was saved using jaction on 2006-09-04 8:33:42.
Address: http://flexdocs.kr/docs/flex2/langref/mx/managers/FocusManager.html
Title: mx.managers.FocusManager (Flex™ 2 레퍼런스 가이드)  •  Size: 43110
Packagemx.managers
Classpublic class FocusManager
InheritanceFocusManager Inheritance Object
ImplementsIFocusManager

FocusManager 클래스는, 마우스나 키보드 (Tab 키)의 조작에 응해 컴퍼넌트상의 포커스를 관리합니다. 1 개의 어플리케이션에는 복수의 FocusManager 인스턴스가 존재하는 경우가 있습니다. FocusManager 의 각각의 인스턴스가,"탭 루프" 를 구성하는 컴퍼넌트세트를 관리합니다. Tab 키를 몇번이나 누르면, 포커스가 컴퍼넌트세트를 일순해, 최종적으로는 최초로 포커스가 놓여져 있던 컴퍼넌트에 돌아옵니다. 이것이 "탭 루프" 로 불려서 , FocusManager 인스턴스가 이 루프를 관리합니다. pop-up 윈도우의 "탭 루프" 가 고유의 컴퍼넌트세트로 구성되어 있는 경우, 이 pop-up 윈도우는 고유의 FocusManager 인스턴스를 가집니다. 메인 어플리케이션은 항상 FocusManager 인스턴스를 가지고 있습니다.

FocusManager 는,"컴퍼넌트 레벨" 로부터 포커스를 관리합니다. Flex 에서는, 컴퍼넌트의 UITextField 가, 텍스트의 키보드 입력을 가능하게 하는 유일한 방법이 됩니다. Flash Player 에 있어, 포커스는 이 UITextField 에 있습니다. 한편 FocusManager 로부터 보면, 포커스는 UITextField 의 부모인 컴퍼넌트에 있습니다. 즉, 컴퍼넌트 레벨과 Flash Player 레벨의 포커스에는 차이가 있습니다. 어플리케이션 개발자는 일반적으로 컴퍼넌트 레벨 이외의 포커스를 취급할 필요는 없습니다만, 컴퍼넌트 개발자는 Flash Player 레벨의 포커스를 이해하고 있지 않으면 안됩니다.

FocusManager 로 관리할 수 있는 모든 컴퍼넌트는, mx.managers.IFocusManagerComponent 를 Implements할 필요가 있습니다만, Flash Player 레벨의 포커스로 관리되는 object에서는 그 필요는 없습니다.

FocusManager 에서는 defaultButton 의 개념도 관리합니다. 이것은, Enter 키가 밀렸을 때에, 그 시점에서의 포커스의 위치에 응해 click 이벤트를 dispatch하는 폼상의 Button object입니다.



Public property
 property정의
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
  defaultButton : IUIComponent
원의 디폴트 Button 컨트롤에의 참조입니다.
FocusManager
  defaultButtonEnabled : Boolean
FocusManager 가 디폴트 버튼을 액티브화할 때 Enter 키가 밀리고 있는 것을 체크할지 어떨지를 나타내는 플래그입니다.
FocusManager
  focusPane : Sprite
컨테이너간에 포커스가 이동될 때 컨테이너간에 이동하는 단일의 Sprite object입니다.
FocusManager
  nextTabIndex : int
[read-only] 이 탭 루프로 다음에 사용하는 고유의 탭 인덱스.
FocusManager
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
  showFocusIndicator : Boolean
컴퍼넌트가 포커스를 가지고 있는 것을 나타내는 인디케이터(indicator)를 표시할지 어떨지를 나타내는 플래그입니다.
FocusManager
Public Methods
 Methods정의
  FocusManager (container:IFocusManagerContainer , popup:Boolean = false)
constructor   .
FocusManager
  activate ():void
SystemManager 는 FocusManager 를 액티브하게 해, 복수의 IFocusManagerContainer 가 동시에 표시되면 비액티브하게 합니다.
FocusManager
  deactivate ():void
SystemManager 는 FocusManager 를 액티브하게 해, 복수의 IFocusManagerContainer 가 동시에 표시되면 비액티브하게 합니다.
FocusManager
  findFocusManagerComponent (o:InteractiveObject ):IFocusManagerComponent
지정된 object가 포함되어 있는 IFocusManagerComponent 를 돌려줍니다 (존재하는 경우).
FocusManager
  getFocus ():IFocusManagerComponent
현재 포커스를 가지고 있는 IFocusManagerComponent 컴퍼넌트를 취득합니다.
FocusManager
  getNextFocusManagerComponent (backward:Boolean = false):IFocusManagerComponent
유저가 Tab 키를 눌러 다른 컴퍼넌트에 안내하면, 포커스를 취득하는 IFocusManagerComponent 를 돌려줍니다.
FocusManager
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
  hideFocus ():void
showFocusIndicatorfalse 로 설정해, 포커스가 있는 object (존재하는 경우)로부터 가시의 포커스 인디케이터(indicator)를 삭제합니다.
FocusManager
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
  setFocus (o:IFocusManagerComponent ):void
포커스를 IFocusManagerComponent 컴퍼넌트로 설정합니다.
FocusManager
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
  showFocus ():void
showFocusIndicatortrue 로 설정해, 포커스가 있는 object (존재하는 경우)에 가시의 포커스 인디케이터(indicator)를 묘화 합니다.
FocusManager
  toString ():String
FocusManager object를 호스트 하는 컴퍼넌트의 string 표현을 돌려줍니다. 이 string의 말미에는 ". focusManager" 라고 하는 string가 추가됩니다.
FocusManager
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
property의 상세
defaultButtonproperty
defaultButton:IUIComponent   [read-write]

원의 디폴트 Button 컨트롤에의 참조입니다. 임의의 Button 컨트롤에 포커스가 있을 때 Enter 키를 누르면, 마우스로 클릭했을 경우와 같게, Button 컨트롤로부터 click 이벤트가 dispatch되어 그 Button 컨트롤이 액티브하게 됩니다. 실제의 디폴트 Button 컨트롤은, 포커스가 다른 컨트롤로 옮긴다고 변경됩니다만, 포커스가 버튼에 없는 경우는 원래대로 돌아갑니다.

defaultButton 는, 이 property가 IUIComponent 타입의 경우에서도,mx.controls.Button 클래스가 아니면 안됩니다.

Implements
    public function get defaultButton():IUIComponent
    public function set defaultButton(value:IUIComponent ):void
defaultButtonEnabledproperty 
defaultButtonEnabled:Boolean   [read-write]

FocusManager 가 디폴트 버튼을 액티브화할 때 Enter 키가 밀리고 있는 것을 체크할지 어떨지를 나타내는 플래그입니다. Enter 키를 인식할 필요가 있는 TextArea 및 그 외의 컴퍼넌트에서는, 이 property를 false 로 설정해, 디폴트 버튼이 존재하는 경우에 Enter 키가 디폴트 버튼의 click 이벤트를 dispatch하지 않게 합니다.

Implements
    public function get defaultButtonEnabled():Boolean
    public function set defaultButtonEnabled(value:Boolean ):void
focusPaneproperty 
focusPane:Sprite   [read-write]

컨테이너간에 포커스가 이동될 때 컨테이너간에 이동하는 단일의 Sprite object입니다. Sprite 는, 컴퍼넌트가 포커스를 가지는 가시 인디케이터(indicator)의 부모로서 사용됩니다.

Implements
    public function get focusPane():Sprite
    public function set focusPane(value:Sprite ):void
nextTabIndexproperty 
nextTabIndex:int   [read-only]

이 탭 루프로 다음에 사용하는 고유의 탭 인덱스.

Implements
    public function get nextTabIndex():int
showFocusIndicatorproperty 
showFocusIndicator:Boolean   [read-write]

컴퍼넌트가 포커스를 가지고 있는 것을 나타내는 인디케이터(indicator)를 표시할지 어떨지를 나타내는 플래그입니다. true 의 경우, 포커스를 취득하는 컴퍼넌트는, 그 컴퍼넌트가 포커스를 가지는 가시 인디케이터(indicator)를 묘화 합니다.

디폴트는 false 로, 유저가 Tab 키를 사용하면 true 로 설정됩니다.

showFocus()hideFocus() Methods를 사용해 이 property를 변경하면, 컴퍼넌트가 포커스를 가지는 가시 인디케이터(indicator)도 갱신되기 (위해)때문에, 통상은 이러한 Methods를 사용하는 것을 추천합니다.

Implements
    public function get showFocusIndicator():Boolean
    public function set showFocusIndicator(value:Boolean ):void
constructor    의 상세
FocusManager()constructor   
public 함수 FocusManager(container:IFocusManagerContainer , popup:Boolean = false)

constructor   .

FocusManager 는, IFocusManagerContainer 의 아이중에서 포커스를 관리합니다. 이것은, constructor    의 실행중에 IFocusManagerContainer 에 자동 설치(Install) 됩니다.

Parameters
container:IFocusManagerContainer — FocusManager 를 호스트 하는 IFocusManagerContainer.
 
popup:Boolean (default = false)true 의 경우, 컨테이너가 pop-up 컴퍼넌트이며, 메인 어플리케이션이 아닌 것을 나타냅니다.
Methods의 상세
activate()Methods
public function activate():void

SystemManager 는 FocusManager 를 액티브하게 해, 복수의 IFocusManagerContainer 가 동시에 표시되면 비액티브하게 합니다. FocusManager 가 비액티브화 되고 있는 IFocusManagerContainer 중(안)에서 마우스가 클릭되면, 그 FocusManager 를 대상으로 하는 activate() Methods가 SystemManager 로부터 불려 갑니다. 액티브하게 된 FocusManager 의 deactivate() Methods는, 다른 FocusManager 가 액티브하게 되기 전에 불려 갑니다.

FocusManager 에서는 event 핸들러를 추가해, 키보드 및 마우스 조작에 관련하는 포커스를 감시할 수 있도록(듯이) 합니다.

deactivate()Methods 
public function deactivate():void

SystemManager 는 FocusManager 를 액티브하게 해, 복수의 IFocusManagerContainer 가 동시에 표시되면 비액티브하게 합니다. FocusManager 가 비액티브화 되고 있는 IFocusManagerContainer 중(안)에서 마우스가 클릭되면, 그 FocusManager 를 대상으로 하는 activate() Methods가 SystemManager 로부터 불려 갑니다. 액티브하게 된 FocusManager 의 deactivate() Methods는, 다른 FocusManager 가 액티브하게 되기 전에 불려 갑니다.

FocusManager 에서는 event 핸들러를 삭제해, 키보드 및 마우스 조작에 관련하는 포커스를 감시할 수 있도록(듯이) 합니다.

findFocusManagerComponent()Methods 
public function findFocusManagerComponent(o:InteractiveObject ):IFocusManagerComponent

지정된 object가 포함되어 있는 IFocusManagerComponent 를 돌려줍니다 (존재하는 경우). 플레이어에서는 Flex 컴퍼넌트의 서브 컴퍼넌트에 포커스를 설정할 수 있기 (위해)때문에, 이 Methods에서는, 컴퍼넌트측에서 봐 어느 IFocusManagerComponent 에 포커스가 있는지를 판별합니다.

Parameters
o:InteractiveObject — 플레이어 레벨의 포커스를 취득할 수 있는 object입니다.

반환값
IFocusManagerComponent o 또는 null 가 포함되고 있는 IFOcusManagerComponent 입니다.
getFocus()Methods 
public function getFocus():IFocusManagerComponent

현재 포커스를 가지고 있는 IFocusManagerComponent 컴퍼넌트를 취득합니다. 이 Methods를 호출하면, 어느 컴퍼넌트에 포커스가 있을지가 나타나므로, Stage object보다 이 Methods를 사용하는 것을 추천합니다. Stage object는, 해당 컴퍼넌트내의 서브 컴퍼넌트를 돌려주는 경우가 있습니다.

반환값
IFocusManagerComponent — 포커스를 가지고 있는 IFocusManagerComponent object.
getNextFocusManagerComponent()Methods 
public function getNextFocusManagerComponent(backward:Boolean = false):IFocusManagerComponent

유저가 Tab 키를 눌러 다른 컴퍼넌트에 안내하면, 포커스를 취득하는 IFocusManagerComponent 를 돌려줍니다. 어플리케이션내에 그 밖에 유효한 컴퍼넌트가 없는 경우는, 현재 포커스가 있는 컴퍼넌트와 같은 컴퍼넌트를 돌려줍니다.

Parameters
backward:Boolean (default = false)true 의 경우, Shift 키를 누르면서 Tab 키를 눌렀을 경우와 같은 object를 돌려줍니다.

반환값
IFocusManagerComponent — 포커스를 취득하는 컴퍼넌트.
hideFocus()Methods 
public function hideFocus():void

showFocusIndicatorfalse 로 설정해, 포커스가 있는 object (존재하는 경우)로부터 가시의 포커스 인디케이터(indicator)를 삭제합니다.

setFocus()Methods 
public function setFocus(o:IFocusManagerComponent ):void

포커스를 IFocusManagerComponent 컴퍼넌트로 설정합니다. 컴퍼넌트의 가시성이나, 유효하게 된 상태 또는 그 외의 모든 조건은 체크되지 않습니다.

Parameters
o:IFocusManagerComponent — 포커스를 취득 가능한 컴퍼넌트.
showFocus()Methods 
public function showFocus():void

showFocusIndicatortrue 로 설정해, 포커스가 있는 object (존재하는 경우)에 가시의 포커스 인디케이터(indicator)를 묘화 합니다.

toString()Methods 
public function toString():String

FocusManager object를 호스트 하는 컴퍼넌트의 string 표현을 돌려줍니다. 이 string의 말미에는 ". focusManager" 라고 하는 string가 추가됩니다.

반환값
String






 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/mx/managers/FocusManager.html