TextLayoutFramework(TLF)のメモ

以下に簡単なサンプル

package  {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.net.*;

	// 使用するText Layout Framework クラスのロード
	//flex SDK 4 に含まれているtextLayout.swcを使用する。
	import flashx.textLayout.container.*;
	import flashx.textLayout.compose.*;
	import flashx.textLayout.conversion.*;
	import flashx.textLayout.edit.*;
	import flashx.undo.*;
	import flashx.textLayout.elements.*;
	import flashx.textLayout.container.ContainerController;

	/**
	 * ...
	 * @author 393
	 */
	public class TextTest2 extends Sprite{
		private var textFlow:TextFlow;
		private var container1:Sprite;
		private var container2:Sprite;
		private var count:int;
		
		public function TextTest2() {

			var text:String="本日確定申告と同時に開業届けも提出してきました。";
			text = [text, text, text, text, text, text, text, text].join("****************");
			
			//テキストフィールドみたいなもの
			textFlow=TextConverter.importToFlow(text,TextConverter.PLAIN_TEXT_FORMAT);
			//テキスト選択とか可能になる
			textFlow.interactionManager = new EditManager();

			//テキストを格納するコンテナーの定義(複数個を連結可能)
			container1 = new Sprite();
			container2 = new Sprite();
			addChild(container1);
			addChild(container2);
			container2.y=150;
			
			//テキストフローにコンテナを追加
			textFlow.flowComposer.addController(new ContainerController(container1, 200, 100));
			textFlow.flowComposer.addController(new ContainerController(container2, 200, 100));
			//テキストフローの更新(コンテナのサイズとか変更したら更新する)
			textFlow.flowComposer.updateAllControllers();
			
			//現在のコンテナの数を取得(出力:2)
			trace("textFlow.flowComposer.numControllers : " + textFlow.flowComposer.numControllers);
			
			//ステージをクリックするごとにテキストフローのコンテナサイズを変化
			stage.addEventListener(MouseEvent.CLICK , clickHandler);
			count = 300;
		}
		
		private function clickHandler (e:*):void {
			//コンテナの数だけループ
			for (var i:int = 0; i < textFlow.flowComposer.numControllers; i++) {
				//コンテナのサイズを変更
				textFlow.flowComposer.getControllerAt(i).setCompositionSize(count,100)
			}
			//テキストフローの更新
			textFlow.flowComposer.updateAllControllers();
			count += 100;
		}	
	}
}