Notice
Recent Posts
Recent Comments
SNOWFLAKES DRAWING PAPER
[AS3] ClassFactory 따라하기 예제 (유동적인 인터페이스 구현) 본문
리스트타입 컴퍼넌트를 사용하다보면 ItemRenderer를 사용하는 경우가 있다
ItemRenderer는 IFactory 인데 일반 컴퍼넌트를 ItemRenderer로 사용시 ClassFactory를 이용해서 IFactory 로 생성해서 리스트에 넣게된다
마찬가지로 인터페이스가 구현되지 않은 컴퍼넌트에 임의로 인터페이스를 구현해서 유연하게 하고 싶어 따라해서 예제를 만들어 봤다~^^
<<MXML>>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="init()"
>
<mx:Script>
<![CDATA[
private function init():void
{
var test:ITest = new ClassTest(UTextInput);
this.addChild( test.newInstance() as DisplayObject );
}
]]>
</mx:Script>
</mx:Application>
ITest.as
package
{
public interface ITest
{
function newInstance():*;
}
}
ClassTest.as
package
{
public class ClassTest implements ITest
{
public function ClassTest(generator:Class = null)
{
super();
this.generator = generator;
}
public var generator:Class;
public var properties:Object = null;
public function newInstance():*
{
var instance:Object = new generator();
if (properties != null)
{
for (var p:String in properties)
{
instance[p] = properties[p];
}
}
return instance;
}
}
}
UTextInput.as
package
{
import mx.controls.TextInput;
public class UTextInput extends TextInput
{
public function UTextInput()
{
}
}
}
'개발 > FLEX/AS3/AIR/BlazeDS' 카테고리의 다른 글
FlashDevelop에서 trace사용하기 (0) | 2009.08.31 |
---|---|
FlashDevelop Go to Definition - 구문으로 편리하게 이동하게 해주는 플러그인 (0) | 2009.08.31 |
[FLEX] Flex/AIR 개발 도우미 Blueprint (0) | 2009.07.27 |
[AS3] List Item 드래그시 이동이 아니라 복사된다... (0) | 2009.05.27 |
[AS3] 색값 변환 참고 샘플 (0) | 2009.05.22 |
Comments