まず、コンボボックスのデータ プロバイダー (含まれる値のリスト) をfx:declarations
タグに追加します。
<fx:Declarations>
<s:ArrayList id="height_data">
<fx:int>600</fx:int>
<fx:int>700</fx:int>
<fx:int>800</fx:int>
<fx:int>900</fx:int>
<fx:int>1000</fx:int>
<fx:int>1100</fx:int>
<fx:int>1200</fx:int>
<fx:int>1300</fx:int>
<fx:int>1400</fx:int>
<fx:int>1500</fx:int>
<fx:int>1600</fx:int>
<fx:int>1700</fx:int>
<fx:int>1800</fx:int>
<fx:int>1900</fx:int>
<fx:int>2000</fx:int>
</s:ArrayList>
<!-- similar list for diameter -->
</fx:Declarations>
次に、2 つのコンボボックスと、出力用の領域をフォームに追加します (ここでは に積み上げられてVGroup
いますが、必要に応じて配置できます)。
<s:VGroup>
<s:ComboBox id="shape_height" dataProvider="{height_data}"
change="calculate_volume()"></s:ComboBox>
<s:ComboBox id="shape_diameter" dataProvider="{diameter_data}"
change="calculate_volume()"></s:ComboBox>
<s:TextArea id="output"></s:TextArea>
</s:VGroup>
次に、計算を実行する関数を作成します。
<fx:Script>
<![CDATA[
public function calculate_volume():void {
var height:int = parseInt(shape_height.selectedItem);
var diameter:int = parseInt(shape_diameter.selectedItem);
if(!isNaN(height) && !isNaN(diameter)) {
// perform calculation
// store answer in volume variable
output.appendText(volume.toString() + "\n");
}
}
]]>
</fx:Script>