패키지flash.events
클래스public class FocusEvent
상속FocusEvent Inheritance Event Inheritance Object

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

표시 목록의 특정 객체에서 다른 객체로 포커스를 변경하면 Flash(r) Player가 FocusEvent 객체를 전달합니다. 포커스 이벤트에는 다음 네 가지 유형이 있습니다.

예제를 통해 확인하십시오.



Public 속성
 속성다음에 의해 정의됨
 Inheritedbubbles : Boolean
[read-only] 이벤트가 버블링 이벤트인지 여부를 나타냅니다.
Event
 Inheritedcancelable : Boolean
[read-only] 해당 이벤트와 연관된 비헤이비어를 차단할 수 있는지 여부를 나타냅니다.
Event
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
 InheritedcurrentTarget : Object
[read-only] 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
Event
 InheritedeventPhase : uint
[read-only] 이벤트 흐름에서 현재 단계입니다.
Event
  keyCode : uint
keyFocusChange 이벤트를 트리거하기 위해 누른 키의 키 코드 값입니다.
FocusEvent
 Inheritedprototype : Object
[static] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
  relatedObject : InteractiveObject
포커스 변경의 영향을 받는 보완적 InteractiveObject 인스턴스에 대한 참조입니다.
FocusEvent
  shiftKey : Boolean
Shift 키 수정자가 활성화되었는지 여부를 나타내며, 활성화된 경우 값이 true입니다.
FocusEvent
 Inheritedtarget : Object
[read-only] 이벤트 대상입니다.
Event
 Inheritedtype : String
[read-only] 이벤트 유형입니다.
Event
Public 메서드
 메서드다음에 의해 정의됨
  
FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0)
포커스 이벤트와 관련된 특정 정보를 갖는 Event 객체를 만듭니다.
FocusEvent
  
FocusEvent 객체의 복사본을 하나 만들고 각 속성의 값을 원본과 동일하게 설정합니다.
FocusEvent
 Inherited
formatToString(className:String, ... arguments):String
사용자 정의 Event 클래스에서 toString() 메서드를 구현하기 위한 유틸리티 함수입니다.
Event
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
이벤트에서 preventDefault()가 호출되었는지 여부를 확인합니다.
Event
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
이벤트의 기본 비헤이비어를 취소할 수 있는 경우, 그 비헤이비어를 취소합니다.
Event
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
이벤트 흐름에서 현재 노드 및 그 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다.
Event
 Inherited
이벤트 흐름에서 현재 노드의 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다.
Event
  
FocusEvent 객체의 속성이 모두 포함된 문자열을 반환합니다.
FocusEvent
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
Public 상수
 상수다음에 의해 정의됨
 InheritedACTIVATE : String = "activate"
[static] activate 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedADDED : String = "added"
[static] added 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[static] addedToStage 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCANCEL : String = "cancel"
[static] cancel 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCHANGE : String = "change"
[static] change 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCLOSE : String = "close"
[static] close 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCOMPLETE : String = "complete"
[static] complete 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCONNECT : String = "connect"
[static] connect 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] deactivate 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[static] enterFrame 이벤트 객체의 type 속성 값을 정의합니다.
Event
  FOCUS_IN : String = "focusIn"
[static] focusIn 이벤트 객체의 type 속성 값을 정의합니다.
FocusEvent
  FOCUS_OUT : String = "focusOut"
[static] focusOut 이벤트 객체의 type 속성 값을 정의합니다.
FocusEvent
 InheritedFULLSCREEN : String = "fullScreen"
[static] fullScreen 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedID3 : String = "id3"
[static] id3 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedINIT : String = "init"
[static] init 이벤트 객체의 type 속성 값을 정의합니다.
Event
  KEY_FOCUS_CHANGE : String = "keyFocusChange"
[static] keyFocusChange 이벤트 객체의 type 속성 값을 정의합니다.
FocusEvent
  MOUSE_FOCUS_CHANGE : String = "mouseFocusChange"
[static] mouseFocusChange 이벤트 객체의 type 속성 값을 정의합니다.
FocusEvent
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] mouseLeave 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedOPEN : String = "open"
[static] open 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedREMOVED : String = "removed"
[static] removed 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[static] removedFromStage 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedRENDER : String = "render"
[static] render 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedRESIZE : String = "resize"
[static] resize 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedSCROLL : String = "scroll"
[static] scroll 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedSELECT : String = "select"
[static] select 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] soundComplete 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] tabChildrenChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] tabEnabledChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] tabIndexChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedUNLOAD : String = "unload"
[static] unload 이벤트 객체의 type 속성 값을 정의합니다.
Event
속성 정보
keyCode속성
keyCode:uint  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

keyFocusChange 이벤트를 트리거하기 위해 누른 키의 키 코드 값입니다.


구현
    public function get keyCode():uint
    public function set keyCode(value:uint):void
relatedObject속성 
relatedObject:InteractiveObject  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

포커스 변경의 영향을 받는 보완적 InteractiveObject 인스턴스에 대한 참조입니다. 예를 들어, focusOut 이벤트가 발생할 경우 relatedObject는 포커스를 얻은 InteractiveObject 인스턴스를 나타냅니다.


구현
    public function get relatedObject():InteractiveObject
    public function set relatedObject(value:InteractiveObject):void
shiftKey속성 
shiftKey:Boolean  [read-write]

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

Shift 키 수정자가 활성화되었는지 여부를 나타내며, 활성화된 경우 값이 true입니다. 비활성화된 경우에는 false입니다. 이 속성은 FocusEvent가 keyFocusChange 유형인 경우에만 사용됩니다.


구현
    public function get shiftKey():Boolean
    public function set shiftKey(value:Boolean):void
생성자 정보
FocusEvent()생성자
public function FocusEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, relatedObject:InteractiveObject = null, shiftKey:Boolean = false, keyCode:uint = 0)

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

포커스 이벤트와 관련된 특정 정보를 갖는 Event 객체를 만듭니다. Event 객체는 매개 변수로 이벤트 리스너에 전달됩니다.

매개 변수
type:String — 이벤트 유형입니다. 사용할 수 있는 값은 FocusEvent.FOCUS_IN, FocusEvent.FOCUS_OUT, FocusEvent.KEY_FOCUS_CHANGEFocusEvent.MOUSE_FOCUS_CHANGE입니다.
 
bubbles:Boolean (default = true) — Event 객체가 이벤트 흐름의 버블링 단계에 참여하는지 여부를 결정합니다.
 
cancelable:Boolean (default = false) — Event 객체를 취소할 수 있는지 여부를 결정합니다.
 
relatedObject:InteractiveObject (default = null) — 포커스 변경의 영향을 받는 보완적 InteractiveObject 인스턴스를 나타냅니다. 예를 들어, focusIn 이벤트가 발생할 경우 relatedObject는 포커스를 잃은 InteractiveObject를 나타냅니다.
 
shiftKey:Boolean (default = false) — Shift 키 수정자가 활성화되었는지 여부를 나타냅니다.
 
keyCode:uint (default = 0)keyFocusChange 이벤트를 트리거하기 위해 누르는 키의 코드를 나타냅니다.

참고 사항

메서드 정보
clone()메서드
public override function clone():Event

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

FocusEvent 객체의 복사본을 하나 만들고 각 속성의 값을 원본과 동일하게 설정합니다.

반환값
Event — 원본과 동일한 속성 값을 갖는 새로운 FocusEvent 객체입니다.
toString()메서드 
public override function toString():String

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

FocusEvent 객체의 속성이 모두 포함된 문자열을 반환합니다. 문자열의 형식은 다음과 같습니다.

[FocusEvent type=value bubbles=value cancelable=value relatedObject=value shiftKey=value]

반환값
String — FocusEvent 객체의 속성이 모두 포함된 문자열입니다.
상수 정보
FOCUS_IN상수
public static const FOCUS_IN:String = "focusIn"

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

focusIn 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
keyCode0: keyFocusChange 이벤트에만 적용됩니다.
relatedObject포커스 변경의 영향을 받는 보완적 InteractiveObject 인스턴스입니다.
shiftKeyfalse: keyFocusChange 이벤트에만 적용됩니다.
target방금 포커스를 받은 InteractiveObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.

참고 사항

FOCUS_OUT상수 
public static const FOCUS_OUT:String = "focusOut"

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

focusOut 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelablefalse; 취소할 기본 비헤이비어가 없습니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
keyCode0: keyFocusChange 이벤트에만 적용됩니다.
relatedObject포커스 변경의 영향을 받는 보완적 InteractiveObject 인스턴스입니다.
shiftKeyfalse: keyFocusChange 이벤트에만 적용됩니다.
target방금 포커스를 잃은 InteractiveObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.

참고 사항

KEY_FOCUS_CHANGE상수 
public static const KEY_FOCUS_CHANGE:String = "keyFocusChange"

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

keyFocusChange 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelabletrue: preventDefault() 메서드를 호출하여 기본 비헤이비어를 취소합니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
keyCodekeyFocusChange 이벤트를 트리거하기 위해 누른 키의 키 코드 값입니다.
relatedObject포커스 변경의 영향을 받는 보완적 InteractiveObject 인스턴스입니다.
shiftKeytrue이면 Shift 키 수정자가 활성 상태이고, 그렇지 않으면 false입니다.
target현재 포커스가 있는 InteractiveObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.

참고 사항

MOUSE_FOCUS_CHANGE상수 
public static const MOUSE_FOCUS_CHANGE:String = "mouseFocusChange"

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

mouseFocusChange 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubblestrue
cancelabletrue: preventDefault() 메서드를 호출하여 기본 비헤이비어를 취소합니다.
currentTarget현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
keyCode0: keyFocusChange 이벤트에만 적용됩니다.
relatedObject포커스 변경의 영향을 받는 보완적 InteractiveObject 인스턴스입니다.
shiftKeyfalse: keyFocusChange 이벤트에만 적용됩니다.
target현재 포커스가 있는 InteractiveObject 인스턴스입니다. target은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다.

참고 사항

예제 예제 사용 방법
FocusEventExample.as

다음 예제에서는 FocusEventExampleCustomSprite 클래스를 사용하여 스테이지에 그려진 항목에 대해 포커스를 사용함으로써 이벤트를 캡처하고 정보를 출력하는 방법을 보여 줍니다. 이는 다음 단계로 이루어집니다.
  1. child(Sprite 유형) 속성과 childCount(uint 유형) 속성을 선언합니다.
  2. for 루프가 좌표 (0,0)에 다섯 개의 연한 파란색 사각형을 생성합니다. 새 CustomSprite 인스턴스에 child를 할당하는 것으로 시작합니다. CustomSprite 객체가 만들어질 때마다 다음이 수행됩니다.
    • uint 유형의 size 속성이 50픽셀로 설정되고 bgColor가 연한 파랑으로 설정됩니다.
    • Sprite 클래스의 buttonModeuseHandCursor 속성이 생성자 내에서 true로 설정됩니다.
    • click 유형의 이벤트 리스너가 관련 구독자인 clickHandler()와 함께 인스턴스화됩니다. 구독자 메서드는 Sprite 유형의 로컬 변수 target을 생성하여 사용자가 클릭한 상자에 할당합니다. 그런 다음 스테이지의 포커스가 target으로 넘어갑니다.
    • draw() 메서드가 호출됩니다. 이 메서드는 Graphics 클래스의 beginFill(), drawRect()endFill() 메서드와 인스턴스 속성을 호출하여 50 x 50픽셀의 사각형을 만듭니다.
  3. for 루프에서 configureListeners() 메서드가 호출되어 세 개의 이벤트 리스너/구독자를 인스턴스화합니다.
    • focusIn / focusInHandler()는 표시 목록 객체(상자)가 클릭되는 click 이벤트가 발생한 뒤에 전달됩니다.
    • focusOut / focusOutHandler()는 다른 상자를 클릭하거나 포커스가 스테이지를 벗어날 때(예: Flash Player 외부를 클릭) 전달됩니다.
    • keyFocusChange / keyFocusChangeHandler()는 Tab 키나 왼쪽 화살표 또는 오른쪽 화살표 키를 사용하여 표시 목록 객체를 선택할 때 전달됩니다. keyFocusChangeHandler() 메서드는 왼쪽 및 오른쪽 화살표 키를 트랩하지만 preventDefault() 메서드를 호출하여 키를 비활성화합니다.
  4. for 루프에서 addChild()에 의해 각 사각형이 표시 목록에 추가되고 모두 동일한 영역에 표시됩니다.
  5. 그런 다음 생성자는 refreshLayout()을 호출하여 화면 상단(y = 0)에 5픽셀 간격으로 각각의 주황색 사각형을 배치합니다.
package {
    import flash.display.Sprite;
    import flash.display.DisplayObject;
    import flash.events.FocusEvent;
    import flash.events.IEventDispatcher;

    public class FocusEventExample extends Sprite {
        private var gutter:uint = 5;
        private var childCount:uint = 5;

        public function FocusEventExample() {
            var child:Sprite;
            for(var i:uint; i < childCount; i++) {
                child = new CustomSprite();
                configureListeners(child);
                addChild(child);
            }
            refreshLayout();
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(FocusEvent.FOCUS_IN, focusInHandler);
            dispatcher.addEventListener(FocusEvent.FOCUS_OUT, focusOutHandler);
            dispatcher.addEventListener(FocusEvent.KEY_FOCUS_CHANGE, keyFocusChangeHandler);
            dispatcher.addEventListener(FocusEvent.MOUSE_FOCUS_CHANGE, mouseFocusChangeHandler);
        }

        private function refreshLayout():void {
            var ln:uint = numChildren;
            var child:DisplayObject = getChildAt(0);
            var lastChild:DisplayObject = child;
            for(var i:uint = 1; i < ln; i++) {
                child = getChildAt(i);
                child.x = lastChild.x + lastChild.width + gutter;
                lastChild = child;
            }
        }

        private function focusInHandler(event:FocusEvent):void {
            var target:CustomSprite = CustomSprite(event.target);
            trace("focusInHandler: " + target.name);
        }

        private function focusOutHandler(event:FocusEvent):void {
            var target:CustomSprite = CustomSprite(event.target);
            trace("focusOutHandler: " + target.name);
        }

        private function keyFocusChangeHandler(event:FocusEvent):void {
            if(event.keyCode == 39 || event.keyCode == 37){
                event.preventDefault()
            }
            var target:CustomSprite = CustomSprite(event.target);
            trace("keyFocusChangeHandler: " + target.name);
        }
        private function mouseFocusChangeHandler(event:FocusEvent):void {
            var target:CustomSprite = CustomSprite(event.target);
            trace("mouseFocusChangeHandler: " + target.name);
        }
    }
}

import flash.display.Sprite;
import flash.events.MouseEvent;

class CustomSprite extends Sprite {
    private var size:uint = 50;
    private var bgColor:uint = 0x00CCFF;

    public function CustomSprite() {
        buttonMode = true;
        useHandCursor = true;
        addEventListener(MouseEvent.CLICK, clickHandler);
        draw(size, size);
    }

    private function draw(w:uint, h:uint):void {
        graphics.beginFill(bgColor);
        graphics.drawRect(0, 0, w, h);
        graphics.endFill();
    }

    private function clickHandler(event:MouseEvent):void {
        var target:Sprite = Sprite(event.target);
        trace("clickHandler: " + target.name);
        stage.focus = target;
    }
}




 

이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서

현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/events/FocusEvent.html