我的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] 宽度优先搜索