<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    AsWing 入門

    ActionScript3.0簡介

    ActionScript3.0 是Adobe公司為基于flash player 平臺開發(fā)的一種腳本語言,開發(fā)者可以使用其開發(fā)出基于flash player運行的多媒體應(yīng)用程序。

    為什么選擇AsWing 以及 AsWing

    請參考,《AsWing介紹文檔》。

    環(huán)境準備

    說白了AsWing就是一套用AS3寫成的類庫,所以只要有編譯AS3程序的環(huán)境,就能使用AsWing。

    從編譯環(huán)境來說基本就是2種,一個是Flash CS3,另一個就是 flex sdk。開發(fā)工具就很多了,官方的有 FlashCS3,F(xiàn)lex Builder(推薦用FB3),或者使用開源的FlashDevelop(支持使用flash和flex sdk編譯),甚至手動調(diào)用mxmlc編譯。

    有了開發(fā)環(huán)境,那么我們就要下載AsWing開發(fā)包,并且配置我們的開發(fā)工具。

    可以到 http://code.google.com/p/aswing/downloads/list 下載AsWing開發(fā)包。

    找到 aswing_a3_1.2_fx.zip 或 aswing_a3_1.2_fl.zip 其中 1.2 表示版本號,一般下載最新的就行。后面的 fx 或 fl 代表適合的編譯環(huán)境。一般如果用flex sdk的話就下載fx結(jié)尾的包。用flashCS3的話就下載fl結(jié)尾的。

    當然你也可以通過svn客戶端取出最新的AsWing代碼,具體方法就不再贅述了,svn地址見:http://www.aswing.org/?page_id=4

    下面具體介紹下在FlexBuilder3和FlashCS3中的配置方法。其他工具雷同。本人使用Windows操作系統(tǒng),其他系統(tǒng)下的操作方式基本一致。

    • FlexBuilder3:
      將壓縮包解壓后,找到里面的aswing_a3_1.2.zip,解壓,將 AsWingA3/bin 目錄中的 AsWingA3.swc 復(fù)制到你存放AS代碼庫的目錄。比如我將其放在 E:/AS3 目錄中。然后再FB3中新建一個ActionScript項目,右鍵該項目打開項目屬性窗口,選擇ActionScript Build Path,然后切換到 Library path,點擊 Add SWC… 瀏覽到剛才復(fù)制的那個文件,按照我剛才存放的路徑就是 E:/AS3/AsWingA3.swc,然后點擊OK即可。
    • Flash CS3
      同樣先解壓然后找到aswing_a3_1.2.zip并解壓,由于Flash IDE不支持使用純AS打包的SWC作為編譯庫路徑,所以我們先將AsWingA3整個目錄復(fù)制到所需位置,如 E:/AS3。
      然 后打開Flash CS3,點擊菜單欄中的 編輯 并打開 首選參數(shù)窗口點擊左邊列表中的ActionScript,然后點下方的 ActionScript 3.0 設(shè)置… 打開類路徑設(shè)置窗口,將AsWing的src目錄添加進去,按照我的文件路徑就是將 E:\AS3\AsWingA3\src 這個路徑添加進去,然后點確定就可以了。

    P.S.當然FB3也可以使用目錄作為編譯路徑,就是在Library path 旁的 Source path中添加一個 AsWing的src目錄。

    第一個例子-Hello World!

    FB中在剛才建的ActionScript項目中新建一個ActionScript class文件,輸入下面的代碼。

    package {
    import flash.display.Sprite;

    import org.aswing.AsWingManager;
    import org.aswing.FlowLayout;
    import org.aswing.JButton;
    import org.aswing.JFrame;
    import org.aswing.JOptionPane;
    import org.aswing.event.AWEvent;

    public class HelloAsWing extends Sprite {

    private var myFrame:JFrame;
    private var myButton:JButton;

    public function HelloAsWing() {
    AsWingManager.initAsStandard(this);

    myButton = new JButton("Click Me");
    myButton.addActionListener(__buttonClicked);

    myFrame = new JFrame(this, "My Frame");
    myFrame.getContentPane().setLayout(new FlowLayout());
    myFrame.getContentPane().append(myButton);

    myFrame.setSizeWH(300, 200);
    myFrame.show();
    }

    private function __buttonClicked(e:AWEvent):void {
    JOptionPane.showMessageDialog("Hello", "Hello, World!");
    }
    }
    }

    如果是使用Flash CS3,可以先新建一個ActionScript文件,輸入代碼后,保存為HelloAsWing.as,然后新建一個Flash (ActionScript3.0)文件,將該fla文件保存在與HelloAsWing.as的同一級目錄中,然后將fla的文檔類設(shè)置為 HelloAsWing。

    運行后可以看到類似這樣的界面,你可以試著對該窗口進行各種操作:

    點擊 Click Me 按鈕后,會彈出一個提示窗口,如下圖:

     

    這就是使用AsWing創(chuàng)建UI組件的一個非常簡單的實例程序,下面我們簡單分析一下該程序的代碼。

    實例詳細分析

    使用AsWing,主程序不需要基于任何應(yīng)用程序框架,AsWing的UI組件都從flash原生的Sprite擴展而來,所以幾乎每一個AsWing組件都能被單獨放到DisplayObjectContainer中并能正常使用。
    我們的主程序僅需繼承Sprite即可,下面分析一下構(gòu)造函數(shù)中的代碼。

    AsWingManager.initAsStandard(this);

    建議在使用AsWing程序之前先調(diào)用這個方法,該方法封裝了一些常用功能,調(diào)用了AsWingManager的setRoot方法,用于設(shè)置容納AsWing組件的容器,這里的this就代表了當前AsWing組件的root。另外還會設(shè)置一些系統(tǒng)參數(shù),如 align,scaleMode等。

    myButton = new JButton("Click Me");
    myButton.addActionListener(__buttonClicked);

    JButton 是AsWing中基本的按鈕組件,這里新建了一個JButton實例,并設(shè)置按鈕的Label,第二句代碼給按鈕添加一個事件監(jiān)聽,當點擊按鈕后就會觸發(fā),這里的addActionListener是AsWing設(shè)計成簡化了事件監(jiān)聽的寫法,當然也可以寫成這樣 myButton.addEventListener(AWEvent.ACT, __buttonClicked);。
    AwEvent
    是AsWing中最基本的事件類,ACT事件類型表示一些基本組件的觸發(fā)事件類型,如JButton的鼠標點擊事件,JTextField的回車事件等。這里按鈕點擊后就會執(zhí)行 __buttonClicked 事件處理函數(shù),函數(shù)中代碼稍后討論。

    myFrame = new JFrame(this, "My Frame");
    myFrame.getContentPane().setLayout(new FlowLayout());
    myFrame.getContentPane().append(myButton);

    JFrame是常用的窗口組件,有類似操作系統(tǒng)窗口的基本特性,如最小/大化,關(guān)閉,縮放,拖動能功能。JFrame的第一個參數(shù)指示該窗口所在的容器,第二個參數(shù)設(shè)置窗口頭部的label(即title)。
    getContentPane()方法獲取JFrame容納其他組件的容器,向JFrame中添加組件記得不要直接調(diào)用JFrameappend方法,JFrame 真正容納其他組件的不是本身,而是其內(nèi)部的一個容器,用getContentPane()方法獲取
    每個容器排列組件的方式都由Layout控制,setLayout就是設(shè)置容器的布局方式,關(guān)于布局請參考《AsWing布局管理入門》。
    然后就是調(diào)用容器的append方法將剛才的按鈕加入到JFrame的容器中。

    myFrame.setSizeWH(300, 200);
    myFrame.show();

    這兩句代碼就比較簡單了,設(shè)置JFrame的尺寸,并讓JFrame顯示出來。可能你發(fā)現(xiàn)沒有使用addChild方法,沒關(guān)系,JFrame繼承 JPopup,所有基于JPopup的組件,AsWing都會自動替你添加到DisplayList中,調(diào)用show() 方法就可以設(shè)置為可見。

    下面看下很簡單的事件處理函數(shù)

    private function __buttonClicked(e:AWEvent):void {
    JOptionPane.showMessageDialog("Hello", "Hello, World!");
    }

    JOptionPane是一個類似Alert的組件,showMessageDialog() 方法即顯示一個消息框,第一個參數(shù)為消息框的title,第二個參數(shù)設(shè)置消息內(nèi)容的字符。

    結(jié)束語

    如今基于flashplayer的RIA技術(shù)非常流行,要開發(fā)這樣的應(yīng)用程序就免不了會用到與用戶交互的UI組件,AsWing正是這樣一套強大的 組件 庫,提供了常用的基本組件,開發(fā)者也可能很容易擴展出自己特制的組件。AsWing的靈活使得開發(fā)者不會被特定的條件約束,你可以在整個項目中完全使用 AsWing作為GUI交換組件,也可以僅把AsWing的某一個組件用在你的項目中,幫助你快速的得到所需的UI界面。
    AsWing的開發(fā)者還在不斷的改進AsWing,使其更強大,易用。
    本文僅介紹了最基本的AsWing使用,其更多強大的性能正等著你來發(fā)掘,請參考其他AsWing相關(guān)教程。

    下載資源

    參考資料

    posted on 2008-08-11 18:36 gembin 閱讀(1589) 評論(0)  編輯  收藏 所屬分類: ActionScript3

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    free counters
    主站蜘蛛池模板: 亚洲欧洲国产经精品香蕉网| 亚洲一级特黄特黄的大片| 99精品视频在线视频免费观看| 成人福利在线观看免费视频| 最新国产精品亚洲| 亚洲第一区二区快射影院| 男性gay黄免费网站| 一级片在线免费看| 97热久久免费频精品99| 999久久久免费精品国产| 亚洲精品无码你懂的网站| 亚洲资源在线视频| 国产亚洲视频在线播放大全| 日本免费一区二区三区四区五六区| 丁香花免费高清视频完整版| 激情97综合亚洲色婷婷五 | 亚洲a在线视频视频| 国产精品亚洲va在线观看| 亚洲免费观看在线视频| 亚洲AV伊人久久青青草原| 亚洲国产成人久久综合一区| 中文字幕免费视频精品一| 免费高清av一区二区三区| 亚洲精品偷拍无码不卡av| 国产一级片免费看| 亚洲成AⅤ人影院在线观看| 国产成人亚洲精品| 黄在线观看www免费看| 久久亚洲精品国产精品| aa在线免费观看| 亚洲精品你懂的在线观看| 妇女自拍偷自拍亚洲精品| 毛片a级毛片免费播放100| 亚洲www77777| 日本最新免费不卡二区在线| 亚洲国产欧美日韩精品一区二区三区 | 三年片在线观看免费大全| 亚洲国产超清无码专区| 青青视频观看免费99| 亚洲人成7777| 国产美女做a免费视频软件|