2012-11-29 164 views
0

我很難找到適用於桌面應用程序編程的Flash Builder 4.6的許多資源。Flash Builder 4.6接口編程

我試圖完成一個簡單的(或至少我認爲簡單的)任務。我有一個應用程序,並在應用程序中是一個按鈕。當用戶點擊按鈕時,我想要加載一個新窗口,但不是當前窗口中的一個子窗口;作爲一個完全獨立的窗口。

我設法完成了一次,但我使用的代碼給出了一個警告(來自Adobe Flash Builder 4.6)告訴我,最好的做法是使用「接口」,因爲新窗口現在是打開它的窗口的孩子。 (我已經失去了這個代碼,因爲我一直在嘗試其他的東西,比如ModuleLoader)。

基本上我的問題是,有人可以提供一個例子,如何正確實現一個接口的方式,可以加載2個獨立的窗口應用程序,他們可以通過事件相互溝通?作爲獎勵,如果任何人都可以指向我的方向一個很好的資源,我也會很感激(書或網站)。 :)我已經閱讀了一本Flex 4的書,它對我對基本事物的理解有了很大的幫助,但不適用於AIR桌面編程(並且沒有提及界面)。

謝謝你的時間。

+0

也許這可以幫助:http://stackoverflow.com/questions/11880104/dual-monitor-support-in-flex-application/11888089#11888089 – RIAstar

+0

從這裏開始:HTTP://help.adobe。 com/en_US/flex/using/index.html和這裏http://help.adobe.com/en_US/as3/dev/index.html – JeffryHouser

+1

謝謝你,第一個例子非常有幫助,我現在有它的工作,謝謝! – Lyynk424

回答

0

我是如何解決這個問題的。這篇文章幫助:Dual Monitor Support in Flex Application

在Adobe Flash Builder 4.6中創建項目後,轉到文件>新建> MXML組件。按照您認爲最適合您的應用的細節鍵入細節,但在「基於」字段下,輸入「spark.components.Window」。完成所有細節後,點擊「完成」。

在您的主應用程序中,使用以下代碼將您剛剛創建的新窗口組件拖入單獨的窗口。爲了這個代碼的目的,我將假定你的新窗口位於「assets.components」之下並被稱爲CompNewWindow。用你自己的替換這些細節。

<s:Button x="0" y="0" label="Button" click="_loadNewWindow(event)" /> 

<fx:Script> 
    <![CDATA[ 

     import assets.components.CompNewWindow; 

     private var myNewWindow:CompNewWindow; 

     private function _loadNewWindow(event:MouseEvent):void 
     { 
      if (!myNewWindow) { 
       myNewWindow = new CompNewWindow(); 
       myNewWindow.addEventListener(Event.CLOSE, _onNewWindowClose); 
       myNewWindow.open(); 
      } 
     } 

     private function _onNewWindowClose(event:Event):void 
     { 
      myNewWindow.removeEventListener(Event.CLOSE, _onNewWindowClose); 
      myNewWindow = null; 
     } 

    ]]> 
</fx:Script>