我的Flex4征程
今年在公司一直做web端的开发,从extjs到svg然后到现在的flex,整整半年的时间,当然flex才刚刚起步。个人认为做系统软件界面用extjs或者jQuery确实是不错的选择,ext提供强大的类库,实现继承任意组合组件,还可以自己开发组件,想想当初学习svg的痛苦,网上的资料太少,技术比较冷门,而且官网已经很久没有更新了,虽然在某些领域(比如电信,电厂系统)尤其是在GIS方面做的确实不错。今年的项目比较大而且应用的技术以较多,新技术更新太快,只有把有限的精力投入到高产出的技术上面来,好了废话不多说了,看看我用flex4开发的第一个程序,实现弹出窗体并将子窗体的数据保存到父窗体中,代码如下:主程序也就是父窗口:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
private var point1:Point = new Point();
protected function button1_clickHandler():void
{
var mm :text2 = text2(PopUpManager.createPopUp(this , text2, true));
point1.x = btnShow.x;
point1.y = btnShow.y;
point1 = btnShow.localToGlobal(point1);//换算成相对于panel的位置
mm.x = point1.x+15;
mm.y = point1.y+15;
mm.lg = lc;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Panel x="439" y="234" width="250" height="200">
<s:Button x="21" y="55" id="btnShow" label="按钮" click="button1_clickHandler()"/>
<s:TextInput id="lc" x="21" y="10"/>
</s:Panel>
</s:Application>跳转子窗体(添加TitleWindow组件):<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="228" height="114" close="PopUpManager.removePopUp(this)">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
public var lg:TextInput;
protected function getName():void
{
lg.text = lc.text;
}
protected function button1_clickHandler():void
{
// TODO Auto-generated method stub
getName();
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Button x="10" y="42" label="确定" click="button1_clickHandler()"/>
<s:TextInput id="lc" x="62" y="5"/>
<s:Label x="10" y="10" text="用户名"/>
<s:Button x="125" y="42" label="取消" id="cencle" click="PopUpManager.removePopUp(this)" />
</s:TitleWindow>代码完整直接复制可运行,运行环境Flex Builder4效果如下
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
private var point1:Point = new Point();
protected function button1_clickHandler():void
{
var mm :text2 = text2(PopUpManager.createPopUp(this , text2, true));
point1.x = btnShow.x;
point1.y = btnShow.y;
point1 = btnShow.localToGlobal(point1);//换算成相对于panel的位置
mm.x = point1.x+15;
mm.y = point1.y+15;
mm.lg = lc;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Panel x="439" y="234" width="250" height="200">
<s:Button x="21" y="55" id="btnShow" label="按钮" click="button1_clickHandler()"/>
<s:TextInput id="lc" x="21" y="10"/>
</s:Panel>
</s:Application>跳转子窗体(添加TitleWindow组件):<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="228" height="114" close="PopUpManager.removePopUp(this)">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
public var lg:TextInput;
protected function getName():void
{
lg.text = lc.text;
}
protected function button1_clickHandler():void
{
// TODO Auto-generated method stub
getName();
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Button x="10" y="42" label="确定" click="button1_clickHandler()"/>
<s:TextInput id="lc" x="62" y="5"/>
<s:Label x="10" y="10" text="用户名"/>
<s:Button x="125" y="42" label="取消" id="cencle" click="PopUpManager.removePopUp(this)" />
</s:TitleWindow>代码完整直接复制可运行,运行环境Flex Builder4效果如下
转载于:https://blog.51cto.com/leehao353/380941
总结
- 上一篇: linux 性能监视命令
- 下一篇: [Mummy Maze] 宽度优先搜索