2009-07-02 5 views
0

OKこれまでは1つのメソッドとして、新しいウィンドウを作成するために、WindowManagerというクラスを作成しました。ウィンドウに含めるべきDisplayObjectを渡します。問題は、新しく作成した表示オ​​ブジェクトを新しいウィンドウに追加しても表示されない場合です。しかし、最初にメインウィンドウの新しい表示オブジェクトとして新しいウィンドウに追加しようとすると、正しく動作します。ここAIR:新しいウィンドウ...コンテンツを追加しても表示されません

は、このクラスである:

package 
{ 
    import flash.display.DisplayObject; 
    import flash.display.NativeWindow; 
    import flash.display.NativeWindowInitOptions; 
    import flash.display.NativeWindowSystemChrome; 
    import flash.display.NativeWindowType; 
    import flash.display.StageAlign; 
    import flash.display.StageScaleMode; 
    import flash.geom.Rectangle; 
    import flash.display.Screen; 

    public class WindowManager 
    { 
     public function WindowManager() 
     { 
     } 

     public function newWindow(content:DisplayObject):void 
     { 
      var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions(); 
      windowOptions.systemChrome = NativeWindowSystemChrome.NONE; 
      windowOptions.type = NativeWindowType.NORMAL; 
      windowOptions.transparent = true; 

      var newWindow:NativeWindow = new NativeWindow(windowOptions); 
      newWindow.stage.scaleMode = StageScaleMode.NO_SCALE; 
      newWindow.stage.align = StageAlign.TOP_LEFT; 
      newWindow.bounds = new Rectangle(0, 0, content.width, content.height); 


      newWindow.title = "New Window Number 2"; 
      newWindow.alwaysInFront = true; 

      newWindow.x = (Screen.mainScreen.bounds.width - newWindow.bounds.width)/2; 
      newWindow.y = (Screen.mainScreen.bounds.height - newWindow.bounds.height)/2; 


      newWindow.stage.addChild(content); 

      newWindow.activate(); 
     } 

    } 
} 

私はこのようにそれを呼び出す場合:

var notifierBox:NotifierBox = new NotifierBox(); 
new WindowManager().newWindow(notifierBox); 

私は前にメインウィンドウにdispayオブジェクトを追加すると、新しいウィンドウがnothing..but含まれていますそれが正常に動作し、新しいウィンドウに追加しようとしている:

var notifierBox:NotifierBox = new NotifierBox(); 
addChild(notifierBox); 
new WindowManager().newWindow(notifierBox); 

して誰かがその理由を教えてもらえますか?

ありがとうございました。

答えて

0

http://livedocs.adobe.com/flex/3/langref/flash/display/NativeWindow.htmlは言う:

コンテンツは、()はaddChildとしてStageオブジェクトののDisplayObjectContainerの方法を使用して、ウィンドウに追加することができます。

Flexコンポーネントを直接NativeWindowインスタンスの表示リストに追加することはできません。代わりに、Flex mx:WindowedApplicationおよびmx:Windowコンポーネントを使用してウィンドウを作成し、他のFlexコンポーネントをそれらのオブジェクトの子として追加します。 [...]

多分NativeWindowの代わりにWindowクラスを試すことができますか?

関連する問題