我正在开发一个AIR应用程序,我需要访问它 WindowedApplication的函数来自包类。
这是主要应用程序(部分代码)
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="initApplication()">
<mx:Script>
<![CDATA[
import mx.events.CloseEvent;
import messages.MessageWindow
public function undock():void {
stage.nativeWindow.visible = true;
stage.nativeWindow.orderToFront();
//Clearing the bitmaps array also clears the applcation icon from the systray
NativeApplication.nativeApplication .icon.bitmaps = [];
}
]]>
</mx:Script>
</mx:WindowedApplication>
包裹:(部分代码)
package messages
{
public class MessageWindow extends NativeWindow
{
public function MessageWindow():void
{
stage.addEventListener(MouseEvent.MOUSE_DOWN,onClick);
}
private function onClick(event:MouseEvent):void
{
****** Need to call the undock method from here. *****
}
}
}
是否可以这样调用或建议任何其他解决方案
提前致谢 Senling。
答案 0 :(得分:1)
不明白为什么它不起作用。来吧试一试,如果出现任何错误,请在此处发布。
你可以尝试的是在MessageWindow方法中在stage前面添加parentApplication,就像这样..
parentApplication.stage.addEventListener(MouseEvent.MOUSE_DOWN,onClick);
然后从onClick()方法调用undock()方法
答案 1 :(得分:1)
即使我不建议您进行代码设计,也可以像下面这样访问您的方法: Application.application.undock() (如果你的undock()方法在WindowedApplication中公开)