2008/07/08 15:27
[Dev/Flex]
MXML 로 만든 MyTextInput 컴포넌트 (MyTextInput.mxml)
AS로 만든 MyTextInput 컴포넌트 (MyTextInput.as)
keyDown 이벤트가 발생할때에 입력한 값이 backspace에 해당하는 '8' 이면 backspace 이벤트를 발생하도록 하였습니다. 여기서 눈여겨 보셔야 할 것은 Event 메타태그인데요. 위의 코드에서 아래와 같이 선언하였습니다.
<mx:Metadata>'선언해 놓은 컴포넌트에서 발생되는 이벤트가 이런 것이 있다~' 라고 선언해준다고 생각하시면 되겠습니다. 2가지를 적어야 하는데요, name과 type 입니다. name에는 해당 이벤트 이름, type 에는 해당 이벤트 클래스를 적어주시면 됩니다. 위와 같이 선언해놓으면 아래와 같이 name이 MXML 상에서 아래의 이미지와 같이 이벤트로 표시됩니다.
[Event(name="backspace",type="flash.events.Event")]
</mx:Metadata>
이 backspace 이벤트를 이용하여 아래와 같이 예제를 한번 만들어보았습니다. 사용자가 backspace 키를 누르면 아래의 TextArea 에 backspace를 눌렀다는 메세지가 나오게 됩니다.
그 렇다면 상단의 코드에서 보시면 MyTextInput 컴포넌트에서 keyDown 이벤트 핸들러를 지정한 2행을 보시면 TextInput 에도 keyDown 이벤트에 대해서 메타태그가 선언되어 있다 라고 유추해볼 수 있습니다. 실제로 TextInput 에는 레퍼런스에서 볼 수 있듯이 TextInput에서 정의된 4개의 이벤트가 아래와 같이 메타태그로 선언되어 있습니다.
keyDown 이벤트는 InteractiveObject 에서 정의되어 있어서 소스를 직접 확인할 수는 없네요. 안타깝습니다. ;)
이와 같은 자료는 지용호님의 블로그에
[Flex 2.0.1]커스텀 컴포넌트에 사용하는 Metadata 태그 소개이상으로 Event 메타태그에 대해서 알아보았습니다. ;)
'Dev > Flex' 카테고리의 다른 글
| [Flex] TitleWindow를 이용한 팝업(Popup)에 대한 간단한 설명과 Tip (27) | 2008/07/30 |
|---|---|
| [Flex] ArrayCollection 에 대한 이해 (36) | 2008/07/10 |
| [Flex] Event 메타태그 (21) | 2008/07/08 |
| [Flex] 주민등록번호 Validator (18) | 2008/07/02 |
| [Flex] mx_internal 로 선언된 변수나 메소드에 접근하기 (namespace 의 사용) (17) | 2008/06/21 |
| [Flex] 더블클릭(doubleClick)을 사용해보자. (6) | 2008/06/03 |
Trackback :: [metadata tag]에 대하여. 네번째 이야기.[Event]
Tracked from 내 심장이 뛰고 있는 한. 열정적인 삶을 살고 싶다. | 2008/08/01 18:50 | DEL
[Event] 메타데이타 태그는 사용자 정의 클래스에서 발생하는 이벤트를 정의하는데 쓰인다. [Event] 메타데이타 태그는 이벤트와 이벤트객체의 타입을 mxml 속성으로 정의하고자 할 경우 사용하며, 보통 ActionScript클래스안에서 [Event] 메타데이타 태그를 정의할 때는 class 정의 전에 삽입하고, mxml파일에 정의할 때는 <mx:Metadata>블록내에 정의한다. 기본 문장 구조는 다음과 같다. [Event(name=" 이벤트명.. |


