【Adobe Flex】他のmxmlファイルの参照方法 Part2
>c9katayamaさん
c9katayamaさんが教えて頂いた方法で動きました。
本当にどうもありがとうございました!!!
しかし、また新たな壁にぶつかりました↓↓↓
参照される側のコンポーネント(今回ですとImage)を参照する側でTileListコントロールのitemRendererを用いて、
表示しているんですが、それを参照元でfunctionを呼んだタイミングで表示するという形にしたいのですが分かりません。
口での説明は伝わりにくいと思うのでソースを載せます。
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.collections.ArrayCollection; private function onButtonClick():void { //ボタンをクリックしたタイミングでimageにTileListに表示された画像を表示 } ]]> </mx:Script> <!-- このボタンをクリックしたタイミングでimageにTileListに表示された画像を表示 --> <mx:Button x="10" y="234" label="functionを呼ぶ" click="onButtonClick()" width="221"/> <mx:Image id="img" x="10" y="10" width="221" height="210"/> <mx:TileList id="tl1" itemRenderer="bCanvas" columnCount="1" maxColumns="1" rowCount="1" maxRows="1" x="250" y="10"> <mx:dataProvider> <mx:Array> <mx:Object /> </mx:Array> </mx:dataProvider> </mx:TileList> </mx:WindowedApplication>
<?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="242" height="240" creationComplete="init()" > <mx:Script> <![CDATA[ private var targetFile:File = new File("C:"); private var jpgFilter:FileFilter = new FileFilter("JPEGファイル","*.jpg"); //初期処理 private function init():void{ targetFile.addEventListener(Event.SELECT,onSelect); } //jpegファイルの参照 private function onOpen():void{ targetFile.browseForOpen("画像ファイル選択",[jpgFilter]); } private function onSelect(event:Event):void{ img1.source = File(event.target).nativePath; txt1.text = File(event.target).nativePath; } ]]> </mx:Script> <mx:Image id="img1" scaleContent="true" width="240" x="0" height="209.5" y="0" source="{data.nativePath}"/> <mx:Button label="参照" click="onOpen()" width="52" right="0" bottom="0"/> <mx:TextInput id="txt1" width="175" bottom="0" left="0" text="{data.nativePath}"/> </mx:Canvas>
このような形で、
という流れで実装したいのです。(説明ヘタクソですみません。。)
tilelistを使っているところなど少し回りくどいですが、
どうしてもtilelistを使わなければならなくて・・
色々と試みてみたのですが・・
もし、お時間がありましたらご存知の方教えてください。
よろしくお願いします。