2009-10-04 117 views
3

是否可以在一個Adobe AIR應用程序中打開多個窗口「句柄」?您可以通過讓應用程序變得透明來進行週轉,但我對更好的解決方案感興趣。Adob​​e AIR中的多個窗口

+0

什麼在標籤的標誌?我的想法只是文本 – Sathya 2009-10-05 11:28:33

回答

2

下就可以了(這是西奧的代碼只是糾正了一下):

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" applicationComplete="main()"> 
    <mx:Script> 
    <![CDATA[ 
    import mx.core.Window; 

    private function main() : void { 
     var window:Window; 
     for (var i:int = 0; i < 5; i++) { 
      window = new Window(); 
      window.width = 200; 
      window.height = 300; 
      window.open(true); 
      window.showStatusBar = false; 
     } 
    } 
    ]]> 
    </mx:Script> 
</mx:Application> 
6

來處理這種情況的最好辦法是讓主類的Application,而不是WindowedApplication一個子類,以及initialWindow小號visible設置設爲false。然後,在您的主課程中,您可以根據需要創建儘可能多的Window實例。

主要類:

<Application xmlns="http://www.adobe.com/2006/mxml"> 
    <applicationComplete>main()</applicationComplete> 
    <Script> 
    <![CDATA[ 
    private function main() : void { 
    var window : Window; 
    for (var i = 0; i < 5; i++) { 
     window = new Window(); 
     window.width = 200; 
     window.height = 300; 
     window.open(true); 
    } 
    } 
    ]]> 
    </Script> 
</Application> 

應用程序配置:

<application xmlns="http://ns.adobe.com/air/application/1.5"> 
    ... 
    <initialWindow> 
    ... 
    <visible>false</visible> 
    </initialWindow> 
</application> 
+0

我不太明白你可以發佈一些非常基本的mxml/as3代碼? – sigvardsen 2009-10-04 16:45:59

+0

你使用的Flash建設者?因爲Flex 4 SDK不會接受它。它返回G:\ FOREX \ src \ Main.mxml(6):錯誤:未找到類型或不是編譯時常量:Window。 – sigvardsen 2009-10-05 08:58:31

+0

您能否將您的示例重寫爲as3?在那裏我可以導入窗口等 – sigvardsen 2009-10-05 10:00:35

0

你爲什麼想窗口中的 「手柄」?

PopupManager允許您創建非模態窗口。

乾杯

+0

我不想要一個「在應用程序」窗口。我想要一個全新的本地窗口。 – sigvardsen 2009-10-05 09:58:58

+0

您希望AIR應用程序在AIR運行時之外創建GUI對象嗎? 我認爲這與AIR的想法背道而馳:一個包含的,受管理的應用程序環境,與OS有限的訪問和交互。 乾杯 – 2009-10-09 21:55:59