我首先将组合框数据提供者(它们包含的值的列表)添加到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>
然后添加两个组合框,以及一个用于输出到表单的区域(此处堆叠在 a 中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>