0

我正在制作一个桌面应用程序,并且正在探索使用应用程序的不同方式。

当我选择制作一个空中应用程序时,它会自动使用WindowApplication但如果我想在我的应用程序中使用多个窗口,那么我需要使用Application代替。我试图将WindowApplication嵌套在Application中,这样我就可以有多个窗口(通过Application -> new Window())并在后台有一个无边框的透明程序。当我嵌套WindowApplication时,它可以工作,但是当我单击WindowApplication(运行调试后)时,它会抛出一个错误:“参数错误:错误 #2025:提供的 DisplayObject 必须是调用者的孩子”。

这是我使用的一些代码。我正在使用 Air 2.5 和 Flash Builder 4。(xml 文件是默认的)。

<?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"
                       applicationComplete="main()">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[
            import spark.components.Label;
            import spark.components.Window;

            private var windows:Array = new Array();

            private function main():void
            {

                var window:Window;
                var numOfWindows:Number = 2;
                for(var i:Number=0; i<numOfWindows;i++)
                {
                    window = new Window();
                    window.width = 300;                 
                    window.title = "I am Window #"+i;
                    window.height = 200;
                    window.open(true);
                    window.showStatusBar = false;   
                    windows.push(window);
                }
                trace("Complete!");
            }
        ]]>
    </fx:Script>
    <s:WindowedApplication >
    <!-- Compiles, but once I click this, it throws the error. -->
    </s:WindowedApplication>
</s:Application>

我怎么会有一个可以控制几个窗口的透明应用程序(或者至少摆脱上面的错误)?提前致谢。

4

1 回答 1

0

WindowedApplication 不打算用作子元素,它是顶级元素。您应该使用 Application 或 WindowedApplication 作为您的根元素,并且永远不要尝试将它们嵌套在彼此内部。官方语言参考中的更多信息:http: //help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/WindowedApplication.html

于 2011-04-05T02:53:23.493 回答