私は完全なFlex/Flash初心者で、Adobe Flash Builder 4 Beta 2を実行しています。複数のポップアップを呼び出すことができる必要がある主要コンポーネントがあります。各ポップアップは、1つの関数といくつかのラベルを除いてほとんど同じです。明らかに、ほぼ同じコードの.mxmlファイルを大量に作成するのではなく、ポップアップを呼び出すときにこの関数を定義してこれらのラベルを変更できるようにしたいと思います。その方法がわかりません。ラベルを変更する方法はわかりましたが、関数を再定義する方法がわかりません。
簡単にするために、私のコードが次のようになっているとしましょう。
main.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009" :s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" creationComplete="init()">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
protected function init():void
{
var alertWindow:IFlexDisplayObject = PopUpManager.createPopUp(FlexGlobals.topLevelApplication as DisplayObject, popup, true);
PopUpManager.centerPopUp(alertWindow);
var popInstance:transmitRoundPop = alertWindow as transmitRoundPop;
popInstance.btnTest.label = "NEW";
}
]]>
</fx:Script>
</mx:Module>
popup.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" width="400" height="300" xmlns:flash="services.flash.*">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
public function test():void
{
Alert.show("ORIGINAL");
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
<s:Panel x="10" y="10" width="380" height="280" title="Test" id="pnlTest">
<s:Button x="131" y="104" label="OLD" id="btnTest" click="test()"/>
</s:Panel>
</s:Group>
test()
ここで、main.mxmlで呼び出すときにpopup.mxmlを変更したいとします...どうすればよいですか?詳細を含めてください...私は初心者であることを忘れないでください:-)