패키지 | fl.managers |
클래스 | public class FocusManager |
상속 | FocusManager Object |
구현 | IFocusManager |
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
탭 루프는 보통 Tab 키를 사용하여 탐색합니다. 탭 루프에서는 구성 요소 간에 포커스가 원형 패턴으로 포커스가 있는 첫 번째 요소에서 마지막 요소로 이동한 다음 다시 마지막 요소에서 첫 번째 요소로 이동합니다. 탭 루프에는 컨테이너의 모든 구성 요소 및 탭 구성 요소가 포함됩니다. 하나의 응용 프로그램에 여러 탭 루프가 포함될 수 있습니다.
FocusManager 인스턴스는 단일 탭 루프를 처리합니다. 주 응용 프로그램은 항상 최소한 하나의 FocusManager 인스턴스와 연결되어 있지만, 응용 프로그램에서는 다른 FocusManager 인스턴스를 사용하여 포함된 각 탭 루프를 관리합니다. 응용 프로그램에 구성 요소의 탭 루프가 하나 이상 별도로 포함된 팝업 창이 있는 경우 등에는 FocusManager 인스턴스가 추가로 필요할 수 있습니다.
FocusManager 인스턴스에서 관리할 수 있는 모든 구성 요소는 fl.managers.IFocusManagerComponent 인터페이스를 구현해야 합니다. Flash Player에서 포커스를 관리하는 객체는 IFocusManagerComponent 인터페이스를 구현하지 않아도 됩니다.
FocusManager 클래스는 기본 버튼의 구현 방식도 관리합니다. 해당 시점에 포커스가 있는 위치에 따라 양식에서 Enter 키를 누르면 기본 버튼에서 click
이벤트를 전달합니다. 텍스트 영역에 포커스가 있거나 ComboBox 또는 NumericStepper 구성 요소 등의 구성 요소에서 값을 편집하는 중이더라도 기본 버튼에서는 click
이벤트를 전달하지 않습니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
defaultButton : Button
현재 기본 버튼을 가져오거나 설정합니다. | FocusManager | ||
defaultButtonEnabled : Boolean
기본 버튼의 활성 여부를 나타내는 값을 가져오거나 설정합니다. | FocusManager | ||
form : DisplayObjectContainer
IFocusManager의 기본 DisplayObjectContainer(대개 스테이지)입니다. | FocusManager | ||
nextTabIndex : int [읽기 전용]
이 탭 루프에서 사용할 다음 고유 탭 인덱스를 가져옵니다. | FocusManager | ||
showFocusIndicator : Boolean
포커스가 있는 구성 요소에 포커스의 시각적 표시기를 표시할지 여부를 나타내는 값을 가져오거나 설정합니다. | FocusManager |
메서드 | 정의 주체 | ||
---|---|---|---|
FocusManager(container:DisplayObjectContainer)
새 FocusManager 인스턴스를 만듭니다. | FocusManager | ||
FocusManager 인스턴스를 활성화합니다. | FocusManager | ||
FocusManager를 비활성화합니다. | FocusManager | ||
지정된 객체를 포함하는 대화형 객체를 검색합니다. | FocusManager | ||
현재 포커스가 있는 대화형 객체를 가져옵니다. | FocusManager | ||
사용자가 Tab 키를 눌러 다음 객체를 탐색할 때 포커스를 받을 수 있는 대화형 객체를 검색합니다. | FocusManager | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
showFocusIndicator 값을 false로 설정하고 객체에 포커스가 있는 경우 시각적 포커스 표시기를 제거합니다. | FocusManager | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
IFocusManagerComponent 구성 요소로 포커스를 설정합니다. | FocusManager | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
showFocusIndicator 값을 true로 설정하고 객체에 포커스가 있는 경우 시각적 포커스가 표시기를 그립니다. | FocusManager | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
defaultButton | 속성 |
defaultButtonEnabled | 속성 |
defaultButtonEnabled:Boolean
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
기본 버튼의 활성 여부를 나타내는 값을 가져오거나 설정합니다. 이 값을 true
로 설정하면 포커스 관리자가 Enter 키를 모니터링하여 Button 구성 요소가 아닌 구성 요소에 포커스가 있을 때 Enter 키를 누를 경우 기본 버튼에 대해 click
이벤트를 전달합니다. 이 값을 false
로 설정하면 포커스 관리자가 Enter 키를 모니터링하지 않습니다. Enter 키를 사용하는 구성 요소는 이 속성을 false
로 설정하여 사용자가 Enter 키를 누를 때 click
이벤트가 기본 버튼에 대해 전달되지 않도록 합니다.
구현
public function get defaultButtonEnabled():Boolean
public function set defaultButtonEnabled(value:Boolean):void
form | 속성 |
form:DisplayObjectContainer
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9.0.28.0 |
IFocusManager의 기본 DisplayObjectContainer(대개 스테이지)입니다.
구현
public function get form():DisplayObjectContainer
public function set form(value:DisplayObjectContainer):void
nextTabIndex | 속성 |
showFocusIndicator | 속성 |
FocusManager | () | 생성자 |
public function FocusManager(container:DisplayObjectContainer)
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
새 FocusManager 인스턴스를 만듭니다.
포커스 관리자가 DisplayObjectContainer 객체의 자식 내에서 포커스를 관리합니다.
매개 변수container:DisplayObjectContainer — 포커스 관리자를 호스팅하는 DisplayObjectContainer 또는 stage 입니다.
|
activate | () | 메서드 |
public function activate():void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
FocusManager 인스턴스를 활성화합니다.
FocusManager 인스턴스가 포커스 관련 키보드 및 마우스 작업을 모니터링할 수 있도록 하는 이벤트 핸들러를 추가합니다.
deactivate | () | 메서드 |
public function deactivate():void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
FocusManager를 비활성화합니다.
FocusManager가 포커스 관련 키보드 및 마우스 작업을 모니터링할 수 있도록 하는 이벤트 핸들러를 제거합니다.
findFocusManagerComponent | () | 메서드 |
public function findFocusManagerComponent(component:InteractiveObject):InteractiveObject
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
지정된 객체를 포함하는 대화형 객체를 검색합니다. Flash Player가 포커스를 Flash 구성 요소의 하위 구성 요소로 설정할 수 있기 때문에 이 메서드는 구성 요소를 기준으로 포커스가 있는 대화형 객체를 결정합니다.
매개 변수
component:InteractiveObject — Flash Player 레벨 포커스를 받을 수 있는 객체입니다.
|
InteractiveObject — component 를 포함하는 객체이거나 해당 객체가 없으면 component 자체입니다.
|
getFocus | () | 메서드 |
public function getFocus():InteractiveObject
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
현재 포커스가 있는 대화형 객체를 가져옵니다. Stage 객체를 사용하는 대신 이 메서드를 호출하여 포커스가 있는 구성 요소를 나타내는 것이 좋습니다. Stage는 해당 구성 요소의 하위 구성 요소를 반환할 수 있습니다.
반환값InteractiveObject — 현재 포커스가 있는 대화형 객체입니다.
|
getNextFocusManagerComponent | () | 메서드 |
public function getNextFocusManagerComponent(backward:Boolean = false):InteractiveObject
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
사용자가 Tab 키를 눌러 다음 객체를 탐색할 때 포커스를 받을 수 있는 대화형 객체를 검색합니다. 이 메서드는 응용 프로그램에 유효한 다른 객체가 없으면 현재 포커스가 있는 객체를 반환합니다.
매개 변수
backward:Boolean (default = false ) — 이 매개 변수를 true 로 설정하면 포커스가 뒤로 이동하여 이 메서드가 Shift+Tab 키 조합을 누를 때 다음 번에 포커스를 받을 객체를 검색합니다.
|
InteractiveObject — 포커스를 받을 다음 구성 요소입니다.
|
hideFocus | () | 메서드 |
public function hideFocus():void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
showFocusIndicator
값을 false
로 설정하고 객체에 포커스가 있는 경우 시각적 포커스 표시기를 제거합니다.
setFocus | () | 메서드 |
public function setFocus(component:InteractiveObject):void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
IFocusManagerComponent 구성 요소로 포커스를 설정합니다. 이 메서드는 구성 요소의 가시성, 활성화 상태 또는 기타 조건을 확인하지 않습니다.
매개 변수
component:InteractiveObject — 포커스를 받을 수 있는 객체입니다.
|
showFocus | () | 메서드 |
public function showFocus():void
언어 버전: | ActionScript 3.0 |
제품 버전: | Flash CS3 |
런타임 버전: | Flash Player 9.0.28.0, AIR 1.0 |
showFocusIndicator
값을 true
로 설정하고 객체에 포커스가 있는 경우 시각적 포커스 표시기를 그립니다.
예제를 실행하려면 다음 단계를 수행합니다.
- 라이브러리에 TextInput 구성 요소를 추가합니다.
- 이 코드를 FLA 파일과 같은 디렉토리에 FocusManagerExample.as로 저장합니다.
- FLA 파일의 Document 클래스를 FocusManagerExample로 설정합니다.
package { import fl.controls.TextInput; import fl.managers.FocusManager; import flash.display.InteractiveObject; import flash.display.Sprite; import flash.events.*; import flash.utils.Timer; public class FocusManagerExample extends Sprite { private var fm:FocusManager; public function FocusManagerExample() { buildGridOfTextInputs(); fm = new FocusManager(this); var t:Timer = new Timer(1000); t.addEventListener(TimerEvent.TIMER,secondPassed); t.start(); } private function buildGridOfTextInputs():void { var rowSpacing:uint = 30; var colSpacing:uint = 110; var totalRows:uint = 4; var totalCols:uint = 3; var i:uint; for(i = 0; i < totalRows * totalCols; i++) { var ti:TextInput = new TextInput() ti.name = "component"+i.toString(); ti.addEventListener(FocusEvent.FOCUS_IN,focusChange); ti.setSize(100,20); ti.x = 10 + ((i % totalCols) * colSpacing); ti.y = 10 + (Math.floor(i / totalCols) * rowSpacing); ti.tabEnabled = true; addChild(ti); } } private function secondPassed(e:TimerEvent):void { var nextComponent:InteractiveObject = fm.getNextFocusManagerComponent(); fm.setFocus(nextComponent); } private function focusChange(e:FocusEvent):void { trace("Focus change: " + e.target.name); } } }
Tue Jun 12 2018, 03:17 PM Z