前回FLEXを使用して、ポップアップウィンドウを表示するサンプルを作成しましたが、
今回は、呼び元からポップアップを表示する際に値を渡すサンプルを作成します。
前回の記事はこちら
【FLEX】ポップアップウィンドウを試す
ポップアップウィンドウ親画面の作成
■ ファイル名:Main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="200">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.core.IFlexDisplayObject;
/**
* ポップアップ画面表示ボタン クリック イベント
* @param event
*/
private function onBtnOpenClick(event:MouseEvent):void {
var country:Array = ["アメリカ", "日本", "イギリス"]
var pop:popUpWindow = popUpWindow(PopUpManager.createPopUp( this, popUpWindow, true));
pop.country = country;
PopUpManager.centerPopUp(pop);
}
]]>
</mx:Script>
<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:Button id="btnOpen" label="ポップアップ画面表示" click="{onBtnOpenClick(event)}" />
</mx:HBox>
</mx:Application>
基本的には前回の記事と同じですが、
countryに格納した値をポップアップで表示する画面に値をセットして、ポップアップを作成しています。
ポップアップウィンドウ子画面の作成
■ ファイル名:popUpWindow.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
title="ポップアップサンプル" showCloseButton="true"
width="200" height="100"
close="{onClose()}">
<mx:Script>
<![CDATA[
import mx.managers.PopUpManager;
[Bindable]
public var country:Array;
/**
* ポップアップウィンドウ Close処理
*/
private function onClose():void {
PopUpManager.removePopUp(this);
}
]]>
</mx:Script>
<mx:VBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:ComboBox id="combo" dataProvider="{country}"/>
<mx:Button id="btnClose" label="閉じる" click="{onClose()}" />
</mx:VBox>
</mx:TitleWindow>
こちらも基本的に同じですが、[Bindable]でcountryを定義し、コンボボックスに値をいれています。
ポップアップウィンドウのサンプル



COMMENTS