(仅限 AIR)
flash.display
public class NativeWindow
继承NativeWindow Inheritance EventDispatcher Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

NativeWindow 类提供一个接口,用于创建和控制本机桌面窗口。

对 NativeWindow 实例的引用由 window 构造函数返回。也可以使用该窗口的舞台上的任何显示对象的 stage.nativeWindow 属性来访问对 NativeWindow 实例的引用。

var window:NativeWindow = displayObject.stage.nativeWindow;

对 NativeWindow 实例的引用由 window 构造函数返回。HTML 页中的 JavaScript 可以通过使用 window.nativeWindow 属性引用 NativeWindow 实例。

NativeWindow 实例的属性只能由应用程序内容访问。如果非应用程序内容尝试访问 NativeWindow 对象,则将引发安全错误。

可以使用 Stage 对象的 DisplayObjectContainer 方法(如 addChild())将内容添加到窗口中。

不能将 Flex 组件直接添加到 NativeWindow 实例的显示列表中。而应使用 Flex mx:WindowedApplication 和 mx:Window 组件来创建窗口并将其它 Flex 组件添加为上述对象的子项。可以将基于 Flex 的 SWF 内容直接添加到 NativeWindow 窗口,只要该 SWF 文件已加载到自己的应用程序域中并且是应用程序内容。

若要创建根 HTML 窗口以显示 HTML 内容,使用 HTMLLoader.createRootWindow() 创建该窗口通常更容易些。以此方式创建的窗口将会自动添加 HTMLLoader 对象。(也可以从 JavaScript 中使用 JavaScript window.open() 函数。不过,此方法对窗口外观和行为的控制能力较差。)

下面对 NativeWindow 对象的操作是异步执行的:close()maximize()minimize()restore()bounds 更改。应用程序可以通过侦听相应的事件来检测这些操作何时完成。

如果 NativeApplication.autoExit 属性为默认值 true,则当应用程序的最后一个窗口关闭时,应用程序也将关闭(并且所有 close 事件处理函数均已返回)。如果 autoExitfalse,则必须调用 NativeApplication.nativeApplication.exit() 才能终止应用程序。

在调用 window 构造函数之后和调用 close() 之前,不会对 NativeWindow 对象进行垃圾回收。应用程序负责关闭其自己的窗口。

另请参见

flash.display.Stage.nativeWindow
flash.display.NativeWindowInitOptions
flash.desktop.NativeApplication
flash.system.ApplicationDomain
flash.html.HTMLLoader.createRootWindow()


公共属性
 属性定义方
  AIR-only active : Boolean
[只读 (read-only)] 指示此窗口是否为活动应用程序窗口。
NativeWindow
  AIR-only alwaysInFront : Boolean
指定此窗口是否始终显示在其他窗口前面(包括其他应用程序的窗口)。
NativeWindow
  AIR-only bounds : Rectangle
此窗口的大小和位置。
NativeWindow
  AIR-only closed : Boolean
[只读 (read-only)] 指示此窗口是否已关闭。
NativeWindow
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  AIR-only displayState : String
[只读 (read-only)] 此窗口的显示状态。
NativeWindow
  AIR-only height : Number
此窗口的高度(以像素为单位)。
NativeWindow
  AIR-only maximizable : Boolean
[只读 (read-only)] 报告用于创建此窗口的可最大化设置。
NativeWindow
  AIR-only maxSize : Point
此窗口的最大大小。
NativeWindow
  AIR-only menu : NativeMenu
此窗口的本机菜单。
NativeWindow
  AIR-only minimizable : Boolean
[只读 (read-only)] 报告用于创建此窗口的可最小化设置。
NativeWindow
  AIR-only minSize : Point
此窗口的最小大小。
NativeWindow
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  AIR-only resizable : Boolean
[只读 (read-only)] 报告用于创建此窗口的可调整大小设置。
NativeWindow
  AIR-only stage : Stage
[只读 (read-only)] 此窗口的 Stage 对象。
NativeWindow
  AIR-only supportsMenu : Boolean
[静态] [只读 (read-only)] 指示 AIR 是否在当前计算机系统上支持本机窗口菜单。
NativeWindow
  AIR-only supportsNotification : Boolean
[静态] [只读 (read-only)] 指示 AIR 是否在当前计算机系统上支持窗口通知提示。
NativeWindow
  AIR-only supportsTransparency : Boolean
[静态] [只读 (read-only)] 指示 AIR 是否支持具有透明像素的本机窗口。
NativeWindow
  AIR-only systemChrome : String
[只读 (read-only)] 报告用于创建此窗口的系统镶边设置。
NativeWindow
  AIR-only systemMaxSize : Point
[静态] [只读 (read-only)] 操作系统允许的最大窗口大小。
NativeWindow
  AIR-only systemMinSize : Point
[静态] [只读 (read-only)] 操作系统允许的最小窗口大小。
NativeWindow
  AIR-only title : String
窗口标题。
NativeWindow
  AIR-only transparent : Boolean
[只读 (read-only)] 报告用于创建此窗口的透明度设置。
NativeWindow
  AIR-only type : String
[只读 (read-only)] 报告用于创建此窗口的窗口类型设置。
NativeWindow
  AIR-only visible : Boolean
指定此窗口是否可见。
NativeWindow
  AIR-only width : Number
此窗口的宽度(以像素为单位)。
NativeWindow
  AIR-only x : Number
此窗口的左上角相对于操作系统桌面原点的水平轴坐标。
NativeWindow
  AIR-only y : Number
此窗口的左上角相对于操作系统桌面左上角的垂直轴坐标。
NativeWindow
公共方法
 方法定义方
  
创建新的 NativeWindow 实例和相应的操作系统窗口。
NativeWindow
  
激活此窗口。
NativeWindow
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
  
关闭此窗口。
NativeWindow
 Inherited
将事件调度到事件流中。
EventDispatcher
  
AIR-only globalToScreen(globalPoint:Point):Point
将像素坐标中相对于窗口舞台原点(就显示列表而言为全局点)转换为虚拟桌面上的点。
NativeWindow
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
使此窗口最大化。
NativeWindow
  
使此窗口最小化。
NativeWindow
  
通过操作系统触发可视提示:发生了需要关注的事件。
NativeWindow
  
将此窗口放在紧靠指定窗口后面。
NativeWindow
  
将此窗口放在紧靠指定窗口前面。
NativeWindow
  
将此窗口放在任何其他可见窗口后面。
NativeWindow
  
将此窗口放在任何其他可见窗口前面。
NativeWindow
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
从最小化或最大化状态恢复此窗口。
NativeWindow
 Inherited
设置循环操作动态属性的可用性。
Object
  
启动此窗口的系统控制移动。
NativeWindow
  
AIR-only startResize(edgeOrCorner:String):Boolean
启动此窗口的系统控制调整大小操作。
NativeWindow
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
事件
 事件 摘要 定义方
  在激活窗口后由此 NativeWindow 对象调度。NativeWindow
  在关闭窗口后由此 NativeWindow 对象调度。NativeWindow
  在关闭窗口的前一刻由此 NativeWindow 对象调度。NativeWindow
  在取消激活窗口后由此 NativeWindow 对象调度。NativeWindow
  在窗口的 displayState 属性更改后由此 NativeWindow 对象调度。NativeWindow
  在窗口更改其显示状态的前一刻由此 NativeWindow 对象调度。NativeWindow
  在桌面上移动窗口后由此 NativeWindow 对象调度。NativeWindow
  在桌面上移动窗口的前一刻由此 NativeWindow 对象调度。NativeWindow
  在调整窗口大小后由此 NativeWindow 对象调度。NativeWindow
  在桌面上调整窗口大小的前一刻由此 NativeWindow 对象调度。NativeWindow
属性详细信息
AIR-only active属性
active:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

指示此窗口是否为活动应用程序窗口。

使用 activate() 方法可使窗口处于活动状态。



实现
    public function get active():Boolean

另请参见

AIR-only alwaysInFront属性 
alwaysInFront:Boolean  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

指定此窗口是否始终显示在其他窗口前面(包括其他应用程序的窗口)。

沿系统深度顺序有两组窗口。位于 alwaysInFront 组中的窗口始终显示在所有其他窗口的前面。同一组内的窗口之间的深度顺序按常规确定。换句话说,激活一个窗口会将该窗口置于其组内的其他窗口前面。

alwaysInFrontfalse 更改为 true 会将该窗口置于所有其他窗口的前面。将该属性从 true 更改为 false 会将该窗口置于“alwaysInFront”窗口的后面,但仍位于其他窗口前面。将该属性设置为其当前值不会更改该窗口的深度顺序。

应该尽量少将 alwaysInFront 设置为 true,因为使用此设置的窗口将出现在其他应用程序的窗口之前,即使其他应用程序处于活动状态时也是如此。

某些 Linux 窗口管理器始终将实用程序窗口显示在常规窗口之前。

注意:在 Mac® OS X 中,如果窗口舞台的 displayState 属性为 fullScreenfullScreenInteractive,将 alwaysInFront 设置为 true 将不起作用。在 Linux 中,alwaysInFront 设置为 true 的全屏窗口始终显示在 alwaysInFront 设置为 true 的其它窗口之前。



实现
    public function get alwaysInFront():Boolean
    public function set alwaysInFront(value:Boolean):void

示例
下列示例强制将某个窗口显示在其它所有窗口(这些窗口不受类似的强制)前面:
windowObj.alwaysInFront = true;
使用对窗口舞台上的显示对象的引用:
displayObject.stage.nativeWindow.alwaysInFront=true;
从窗口(或 HTML 根窗口)的 HTMLLoader 对象中运行的 JavaScript 例程:
window.nativeWindow.alwaysInFront = true;
AIR-only bounds属性 
bounds:Rectangle  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的大小和位置。

窗口尺寸包括任何系统镶边。窗口舞台的尺寸等于窗口尺寸减去任何系统镶边的大小。更改窗口的宽度和高度将更改舞台的 stageWidthstageHeight。反之亦然:更改舞台尺寸也将更改窗口大小。

在根 HTML 窗口中,outerWidthouterHeigth 属性等效于窗口的 heightwidth 属性。innerWidthinnerHeight 属性等于 stage.stageWidthstage.stageHeight 属性减去该窗口显示的任何滚动条的粗细。

每当此窗口的宽度或高度更改时即调度 resize 事件。同样,每当此窗口的原点 (x,y) 更改时即调度 move 事件。直接设置 bounds 属性不会调度 movingresizing 事件。若要使其他组件可以准备或取消即将进行的移动或调整大小操作,您的范围更改逻辑可以使用 NativeWindow dispatchEvent() 方法调度 movingresizing 事件,然后检查注册侦听器是否取消了该事件。

设置窗口的 bounds 属性等效于设置其 xywidthheight 属性。同样,设置任何单个尺寸等效于设置 bounds 属性。使用 bounds 属性同时设置所有尺寸时,调度的事件会较少。

无法保证设置各个尺寸的顺序。在不允许窗口扩大到桌面区域之外的 Linux 窗口管理器中,即使应用所有属性更改的最终效果会产生合法的窗口,也可能会阻止对单个属性的更改。

如果由于窗口的 minSizemaxSize 属性,或由于操作系统的最小值和最大值限制,指定的宽度和高度小于允许的最小值或大于允许的最大值,则会将窗口尺寸设置为最接近的合法大小。显示的任何系统镶边的最小宽度和高度也可能导致窗口大于指定的大小。



实现
    public function get bounds():Rectangle
    public function set bounds(value:Rectangle):void

引发
ArgumentError — 如果矩形为空或包含无效值。
 
IllegalOperationError — 如果在关闭此窗口后访问 bounds 属性。

另请参见


示例
下面的示例使用对 NativeWindow 对象的引用设置窗口的范围:
windowObj.bounds = new Rectangle(200, 200, 1000, 800);
使用对窗口舞台上的显示对象的引用:
displayObject.stage.nativeWindow.bounds = new Rectangle(20, 20, 800, 600);
从窗口(或 HTML 根窗口)的 HTMLLoader 中运行的 JavaScript 例程:
window.nativeWindow.bounds = new air.Rectangle(20, 20, 800, 600);
AIR-only closed属性 
closed:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

指示此窗口是否已关闭。

对已关闭的窗口访问以下属性将引发非法操作错误:

同样,对已关闭的窗口调用以下方法也将引发非法操作错误:



实现
    public function get closed():Boolean

示例
下列示例演示如何访问窗口的 closed 属性:
var isWindowClosed:Boolean = windowObj.closed;
使用对窗口舞台上的显示对象的引用:
var isWindowClosed:Boolean = displayObject.stage.nativeWindow.closed;
从窗口(或 HTML 根窗口)的 HTMLLoader 对象中运行的 JavaScript 例程:
var isWindowClosed = window.nativeWindow.closed;
AIR-only displayState属性 
displayState:String  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的显示状态。

用作可能值的常数在 NativeWindowDisplayState 类中定义:



实现
    public function get displayState():String

引发
IllegalOperationError — 如果在关闭此窗口后访问 displayState 属性。

另请参见


示例
下面的示例显示如何在给定一个对窗口对象的引用的情况下获取当前窗口的显示状态:
var state:String = windowObj.displayState;
AIR-only height属性 
height:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的高度(以像素为单位)。

窗口的尺寸包括显示的任何系统窗口镶边。可以从 Stage.stageHeight 属性获取窗口内部可用的显示区域高度。

更改窗口的 height 属性等效于通过 bounds 属性更改高度。

如果由于窗口的 minSizemaxSize 属性,或由于操作系统的最小值和最大值限制,指定的高度小于允许的最小高度或大于允许的最大高度,则会将窗口高度设置为最接近的合法大小。



实现
    public function get height():Number
    public function set height(value:Number):void

引发
ArgumentError — 如果设置的值为 null 或无效。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

AIR-only maximizable属性 
maximizable:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

报告用于创建此窗口的 maximizable 设置。

创建窗口后,不能更改 maximizable 设置。

并非所有 Linux 窗口管理器都保留 maximizable 设置。



实现
    public function get maximizable():Boolean

引发
SecurityError — 在没有足够权限的情况下尝试设置为 false 时。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

AIR-only maxSize属性 
maxSize:Point  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的最大大小。

大小限制指定为 Point 对象的坐标。点的 x 属性对应于窗口宽度,y 属性对应于窗口高度。

对于通过 ActionScript JavaScript 代码和通过操作系统调用的窗口大小调整操作实施 maxSize 限制。

如果窗口的当前范围大于新的最大大小,则设置 maxSize 将更改窗口的范围。

注意:在某些操作系统(如 Mac OS X)中,即使最大化后的窗口将小于操作系统屏幕,将窗口最大化也只能使窗口扩大至 maxSize 值。该窗口将仍然处于最大化显示状态。



实现
    public function get maxSize():Point
    public function set maxSize(value:Point):void

引发
IllegalOperationError — 如果分配的大小不在操作系统的最小和最大窗口大小范围之内。
 
SecurityError — 如果因为内容的当前权限而禁止该大小。
 
ArgumentError — 如果该大小为 null 或包含无效值。
 
IllegalOperationError — 如果在关闭此窗口后访问 maxSize 属性。

另请参见


示例
下面的示例显示如何为窗口设置允许的最大大小。
windowObj.maxSize = new Point(1040,920);
使用对窗口舞台上的显示对象的引用:
displayObject.stage.nativeWindow.maxSize = new Point(800,600);
从窗口(或 HTML 根窗口)的 HTMLLoader 对象中运行的 JavaScript 例程:
window.nativeWindow.maxSize = new air.Point(960,960);
AIR-only menu属性 
menu:NativeMenu  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的本机菜单。

在将 NativeMenu 对象分配给窗口的 menu 属性时,如果 NativeWindow.supportsMenutrue,将为窗口显示一个本机菜单,除非该窗口的 systemChrome 属性为 NativeWindowSystemChrome.NONE

注意:允许在 NativeWindow.supportsMenufalse 或窗口的 systemChrome 属性为 NativeWindowSystemChrome.NONE 时为窗口分配菜单,但不执行任何操作。



实现
    public function get menu():NativeMenu
    public function set menu(value:NativeMenu):void

另请参见

AIR-only minimizable属性 
minimizable:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

报告用于创建此窗口的 minimizable 设置。

创建窗口后,不能更改 minimizable 设置。

并非所有 Linux 窗口管理器都保留 minimizable 设置。



实现
    public function get minimizable():Boolean

引发
SecurityError — 在没有足够权限的情况下尝试设置为 false 时。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

AIR-only minSize属性 
minSize:Point  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的最小大小。

大小限制指定为 Point 对象的坐标。点的 x 属性对应于窗口宽度,y 属性对应于窗口高度。

如果窗口的当前范围小于新的最小大小,则设置 minSize 将更改窗口的范围。

对于通过 ActionScript JavaScript 代码和通过操作系统调用的窗口大小调整操作实施 minSize 限制。

注意:显示的任何系统镶边的宽度和高度可能使得无法将窗口设置得与指定的最小大小一样小。



实现
    public function get minSize():Point
    public function set minSize(value:Point):void

引发
IllegalOperationError — 如果分配的大小不在操作系统的最小和最大窗口大小范围之内。
 
SecurityError — 如果因为内容的当前权限而禁止该大小。
 
ArgumentError — 如果该大小为 null 或包含无效值。
 
IllegalOperationError — 如果在关闭此窗口后访问 minSize 属性。

另请参见


示例
下面的示例演示如何为窗口设置允许的最小大小:
windowObj.minSize = new Point(200,80);
使用对窗口舞台上的显示对象的引用:
displayObject.stage.nativeWindow.minSize = new Point(120,60);
从窗口(或 HTML 根窗口)的 HTMLLoader 对象中运行的 JavaScript 例程:
window.nativeWindow.minSize = new air.Point(80,60);
AIR-only resizable属性 
resizable:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

报告用于创建此窗口的 resizable 设置。

创建窗口后,不能更改 resizable 设置。



实现
    public function get resizable():Boolean

引发
SecurityError — 在没有足够权限的情况下尝试设置为 false 时。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

AIR-only stage属性 
stage:Stage  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的 Stage 对象。Stage 对象是基于 ActionScript 3.0 的 SWF 内容中使用的显示列表体系结构中的根对象。

舞台是窗口显示列表的根。通过将可视显示对象添加到舞台或添加到此舞台的显示列表中已有的另一个对象来将可视显示对象添加到窗口。舞台尺寸是在窗口使用系统镶边时窗口客户端区域的尺寸。如果不使用系统镶边,舞台尺寸等于窗口尺寸。

呈现 HTML 内容的 HTMLLoader 是显示列表树上的一个叶。由 ActionScript 定义的显示对象可以按绘制顺序位于 HTMLLoader 之上,也可以位于其下,但不能位于由 HTMLLoader 呈现的可视元素之间。



实现
    public function get stage():Stage

另请参见


示例
下面的示例显示如何为 NativeWindow 实例设置舞台属性:
import flash.display.StageAlign;

windowObj.stage.align = StageAlign.TOP_LEFT;
AIR-only supportsMenu属性 
supportsMenu:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

指示 AIR 是否在当前计算机系统上支持本机窗口菜单。

如果 NativeWindow.supportsMenutrue,则在将 NativeMenu 对象分配给窗口的 menu 属性时,将为该窗口显示本机菜单(除非该窗口的 systemChrome 属性为 NativeWindowSystemChrome.NONE)。

注意:允许在 NativeWindow.supportsMenufalse 或窗口的 systemChrome 属性为 NativeWindowSystemChrome.NONE 时为窗口分配菜单,但不执行任何操作。



实现
    public static function get supportsMenu():Boolean

另请参见

AIR-only supportsNotification属性 
supportsNotification:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

指示 AIR 是否在当前计算机系统上支持窗口通知提示。

如果 NativeWindow.supportsNotificationtrue,则调用该窗口的 notifyUser() 方法将向用户显示一个可视提示,提示用户发生了需要关注的事件。此可视提示将遵循本机系统的操作系统约定。例如在 Windows®中,任务栏图标将闪烁。

注意:允许在 NativeWindow.supportsNotificationfalse 时调用 notifyUser(),但不执行任何操作。



实现
    public static function get supportsNotification():Boolean

另请参见

AIR-only supportsTransparency属性 
supportsTransparency:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.1

指示 AIR 是否支持具有透明像素的本机窗口。

NativeWindow.supportsTransparencytrue,若窗口 transparent 属性设为 true,将保留本机窗口的像素的透明度。若 NativeWindow.supportsTransparencyfalse,则无论窗口 transparent 属性为何值,所有像素的不透明度都将设为 1。NativeWindow.supportsTransparencyfalse 时,完全透明的像素将呈现黑色。

注意:根据为操作系统设置的用户首选项的不同,在应用程序运行过程中,此属性的值可能会发生变化。



实现
    public static function get supportsTransparency():Boolean

另请参见

AIR-only systemChrome属性 
systemChrome:String  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

报告用于创建此窗口的系统镶边设置。

NativeWindow.systemChrome 返回的值将是在 NativeWindowSystemChrome 类中定义的常数之一。

创建窗口后,不能更改系统镶边设置。



实现
    public function get systemChrome():String

引发
SecurityError — 在没有足够权限的情况下尝试设置为 false 时。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见


示例
以下示例:
使用对窗口舞台上的显示对象的引用:
var sysChromeType:String = displayObject.stage.nativeWindow.systemChrome;
从窗口(或 HTML 根窗口)的 HTMLLoader 对象中运行的 JavaScript 例程:
var sysChromeType = window.nativeWindow.systemChrome;
下面的示例显示如何通过创建一个新窗口并将所有子级显示对象移动到该新窗口来更改系统外观镶边和透明度设置:
import flash.display.NativeWindow;
import flash.display.NativeWindowSystemChrome;
import flash.display.NativeWindowInitOptions;

public function deChromeWindow(oldWindow:NativeWindow):NativeWindow{
    if(oldWindow.systemChrome != NativeWindowSystemChrome.NONE){
        var newOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
        newOptions.systemChrome = NativeWindowSystemChrome.NONE;
        newOptions.transparent = true;
        
        var newWindow:NativeWindow = new NativeWindow(newOptions);
        newWindow.stage.stageWidth = oldWindow.stage.stageWidth;
        newWindow.stage.stageHeight = oldWindow.stage.stageHeight;
        newWindow.stage.align = oldWindow.stage.align;
        newWindow.stage.scaleMode = oldWindow.stage.scaleMode;
        
        for(var i:int = 0; i < oldWindow.stage.numChildren; i++){
            newWindow.stage.addChild(oldWindow.stage.getChildAt(i));
        }
        newWindow.activate();
        oldWindow.close();
        
        return newWindow;
    }
    return oldWindow;
}
AIR-only systemMaxSize属性 
systemMaxSize:Point  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

操作系统允许的最大窗口大小。

大小限制指定为 Point 对象的坐标。点的 x 属性对应于窗口宽度,y 属性对应于窗口高度。



实现
    public static function get systemMaxSize():Point
AIR-only systemMinSize属性 
systemMinSize:Point  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

操作系统允许的最小窗口大小。

大小限制指定为 Point 对象的坐标。点的 x 属性对应于窗口宽度,y 属性对应于窗口高度。



实现
    public static function get systemMinSize():Point
AIR-only title属性 
title:String  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

窗口标题。

该标题将出现在该窗口的系统镶边中(如果显示系统镶边),也会出现在与系统相关的其他位置(如任务栏)。



实现
    public function get title():String
    public function set title(value:String):void

引发
IllegalOperationError — 如果在关闭此窗口后访问该属性。

示例
下面的示例设置窗口对象的标题:
windowObj.title = "Window Title";
AIR-only transparent属性 
transparent:Boolean  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

报告用于创建此窗口的透明度设置。

创建窗口后,不能更改 transparent 属性。透明度影响窗口的视觉外观和鼠标行为。如果某一像素的 Alpha 值低于特定的阈值(大约在 .06 和 .01 之间变化,具体取决于操作系统),则该窗口将无法捕获该像素上方的鼠标事件。

注意:并不总是支持窗口透明度。如果用户的操作系统配置不提供透明度,则创建窗口时将不含透明度。原本要透明的区域将混合为黑色。请使用 NativeWindow.supportsTransparency 属性确定是否支持窗口透明度。



实现
    public function get transparent():Boolean

引发
SecurityError — 在没有足够权限的情况下尝试设置为 false 时。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

AIR-only type属性 
type:String  [只读 (read-only)]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

报告用于创建此窗口的窗口 type 设置。

NativeWindow.type 返回的值将是在 NativeWindowType 类中定义的常数之一。

创建窗口后,不能更改 type 设置。



实现
    public function get type():String

引发
SecurityError — 在没有足够权限的情况下尝试设置为 false 时。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

AIR-only visible属性 
visible:Boolean  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

指定此窗口是否可见。

不可见窗口不显示在桌面上,但所有窗口属性和方法都是有效的。

在默认情况下,visible 设置为 false。若要显示窗口,请将 visible 设置为 true 或调用 NativeWindow.activate()

注意:在 Mac OS X 中,对一个最小化的窗口设置 visible=false 不会从停靠处删除该窗口图标。如果用户随后单击该停靠图标,该窗口将返回可见状态并显示在桌面上。



实现
    public function get visible():Boolean
    public function set visible(value:Boolean):void

引发
SecurityError — 在没有足够权限的情况下尝试设置为 false 时。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见


示例
下列示例演示如何访问窗口的 visible 属性:
windowObj.visible = true;
使用对窗口舞台上的显示对象的引用:
displayObj.stage.nativeWindow.visible = true;
从窗口(或 HTML 根窗口)的 HTMLLoader 对象中运行的 JavaScript 例程:
window.nativeWindow.visible = true;
AIR-only width属性 
width:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的宽度(以像素为单位)。

为本机窗口报告的尺寸包括显示的任何系统窗口镶边。可以从 Stage.stageWidth 属性获取窗口内部可用的显示区域宽度。

更改窗口的 width 属性等效于通过 bounds 属性更改宽度。

如果由于窗口的 minSizemaxSize 属性,或由于操作系统的最小值和最大值限制,指定的宽度小于允许的最小宽度或大于允许的最大宽度,则会将窗口宽度设置为最接近的合法大小。



实现
    public function get width():Number
    public function set width(value:Number):void

引发
ArgumentError — 如果设置的值为 null 或无效。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

AIR-only x属性 
x:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的左上角相对于操作系统桌面原点的水平轴坐标。

在安装了多个显示器的系统中,x 可能为负。如果保存该值可能是为了将窗口重新定位在上次的位置,则应始终验证在还原位置时是否将窗口放置到可用的位置。更改屏幕分辨率或显示器布置可能会导致窗口被置于屏幕以外。使用 Screen 类可获取有关桌面几何形状的信息。

更改窗口的 x 属性等效于通过 bounds 属性更改位置。



实现
    public function get x():Number
    public function set x(value:Number):void

引发
ArgumentError — 如果设置的值为 null 或无效。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

AIR-only y属性 
y:Number  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

此窗口的左上角相对于操作系统桌面左上角的垂直轴坐标。

在安装了多个显示器的系统中,y 可能为负。如果保存该值可能是为了将窗口重新定位在上次的位置,则应始终验证在还原位置时是否将窗口放置到可用的位置。更改屏幕分辨率或显示器布置可能会导致窗口被置于屏幕以外。使用 Screen 类可获取有关桌面几何形状的信息。

更改窗口的 y 属性等效于通过 bounds 属性更改位置。



实现
    public function get y():Number
    public function set y(value:Number):void

引发
ArgumentError — 如果设置的值为 null 或无效。
 
IllegalOperationError — 如果在关闭此窗口后访问该属性。

另请参见

构造函数详细信息
AIR-only NativeWindow()构造函数
public function NativeWindow(initOptions:NativeWindowInitOptions)

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

创建新的 NativeWindow 实例和相应的操作系统窗口。

创建窗口后,不能更改 initOptions 参数中定义的设置。无效的 initOptions 设置将导致引发非法操作错误。在当前系统中有效但不可用的设置不会引发异常。如果需要,可以使用静态 NativeWindow 成员(比如 systemMaxSize)来检测特定于当前操作系统的窗口功能。

默认的窗口大小由操作系统确定,但是可以通过设置窗口范围来更改。如果窗口的 visible 属性为 false,则更改将是不可见的。

参数
initOptions:NativeWindowInitOptions — 一个包含此窗口初始化属性的对象。

引发
IllegalOperationError — 如果 initOptions 参数无效。

另请参见


示例

下面的示例将创建并激活一个新的 NativeWindow 实例:
import flash.display.NativeWindowInitOptions;
import flash.display.NativeWindowSystemChrome;
import flash.display.NativeWindowType;
import flash.display.NativeWindow;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.geom.Rectangle;

var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
windowOptions.type = NativeWindowType.NORMAL;

var newWindow:NativeWindow = new NativeWindow(windowOptions);
newWindow.stage.scaleMode = StageScaleMode.NO_SCALE;
newWindow.stage.align = StageAlign.TOP_LEFT;
newWindow.bounds = new Rectangle(100, 100, 800, 800);

newWindow.activate();
方法详细信息
AIR-only activate()方法
public function activate():void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

激活此窗口。

激活一个窗口将会:

另请参见


示例

下面的示例演示如何激活窗口。

使用对窗口舞台上的显示对象的引用:

displayObject.stage.nativeWindow.activate();

使用对 NativeWindow 类的实例的引用:
windowObj.activate();

从窗口中呈现的 HTML 页中的 JavaScript(此处的 window 是全局 JavaScript window 对象):
window.nativeWindow.activate();
AIR-only close()方法 
public function close():void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

关闭此窗口。

关闭操作一旦完成即调度 close 事件。将不调度 closing 事件。如果应该允许取消关闭操作,请调度一个 closing 事件并检查在调用 close() 方法之前是否有任何注册的侦听器取消了默认行为。

如果未在其他位置引用当前处于此窗口中的显示对象实例,则会将这些实例作为垃圾回收,除非它们位于由 AIR 创建的初始应用程序窗口中。若要允许将初始窗口中的显示对象作为垃圾进行回收,请将它们从窗口舞台上删除。

关闭后的 NativeWindow 对象仍然是有效的引用,但访问大多数属性和方法都将引发非法操作错误。

关闭的窗口无法重新打开。如果窗口已经关闭,则不执行任何动作,也不调度任何事件。

注意:若要在不关闭窗口的情况下隐藏一个窗口,请将该窗口的 visible 属性设置为 false

另请参见


示例

下面的示例演示如何关闭窗口:

通过引用 NativeWindow 实例 (windowObj):

windowObj.close();

使用对窗口舞台上的显示对象的引用:
displayObj.stage.nativeWindow.close();

从 HTMLLoader 对象(或 HTML 根窗口)中运行的 JavaScript 例程:
window.close(); //overriddable in HTMLHost

或者:
window.nativeWindow.close(); //not overriddable

下面的示例演示如何允许取消关闭操作(其中 windowObj 是要关闭的 NativeWindow 实例):
public function closeCommand():Boolean{
    var closeEvent:Event = new Event(Event.CLOSING,true,true);
    windowObj.dispatchEvent(closeEvent);
    if(!closeEvent.isDefaultPrevented()){
        windowObj.close();
        return true;
    } else {
      return false;
    }
}

下面的示例演示如何从 HTMLLoader 对象(或 HTML 根窗口)中运行的 JavaScript 例程关闭窗口,同时允许取消该操作:
<script src="AIRAliases.js" type="text/javascript"></script>
<script type="text/javascript">
    var dirtyData = false;
    function closeWindow(){
            var closingEvent = new air.Event(air.Event.CLOSING,true,true);
            window.nativeWindow.dispatchEvent(closingEvent);
               if(!closingEvent.isDefaultPrevented()){
                   window.nativeWindow.close();
                //or use: window.close(); 
               return true;
           } else {
               return false;
        }
    }
        
    function onClosing(event){
        if(dirtyData){
            event.preventDefault();
            //Save data...
        }
    }    

    window.nativeWindow.addEventListener(air.Event.CLOSING,onClosing);        
</script>
AIR-only globalToScreen()方法 
public function globalToScreen(globalPoint:Point):Point

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

将像素坐标中相对于窗口舞台原点(就显示列表而言为全局点)转换为虚拟桌面上的点。

虚拟桌面坐标相对于主监视器的左上角。

参数

globalPoint:Point — 要转换为屏幕上的点的舞台上的点。

返回
Point — 指定的相对于桌面的全局点。

另请参见

AIR-only maximize()方法 
public function maximize():void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

使此窗口最大化。

调用 maximize() 将调度 displayStateChange 事件,如果适用,还将调度 moveresize 事件。系统镶边将调度 displayStateChanging 事件,当用户启动最大化命令时可取消该事件,如果需要,您的最大化逻辑必须实现此行为。

maximize() 方法异步执行。若要检测状态更改是否完成,请侦听 displayStateChange 事件。

如果窗口已经最大化,则不执行任何动作,也不调度任何事件。

注意:

某些 Linux 窗口管理器不允许将实用程序窗口最大化。


引发
IllegalOperationError — 如果此窗口的 maximizable 属性为 false 或如果在关闭此窗口后调用该方法。

另请参见


示例

下面的示例演示如何允许取消最大化操作:
public function maximizeWindow(nativeWin:NativeWindow):Boolean{
  if(nativeWin.displayState != NativeWindowDisplayState.MAXIMIZED){
    var beforeState:String = nativeWin.displayState;
    var afterState:String = NativeWindowDisplayState.MAXIMIZED;
    var displayStateEvent:NativeWindowDisplayStateEvent = 
        new NativeWindowDisplayStateEvent(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING,
                                              true,true,beforeState,afterState);
    nativeWin.dispatchEvent(displayStateEvent);
    if(!displayStateEvent.isDefaultPrevented()){
        nativeWin.maximize();
        return true;
    } else {
      return false;
    }
  }
  return false;
}

下面的示例演示如何允许在窗口(或 HTML 窗口)上的 HTMLLoader 对象中运行的 JavaScript 例程中取消最大化操作:
function maximizeWindow(nativeWin){
    if(nativeWin.displayState != air.NativeWindowDisplayState.MAXIMIZED){
        var beforeState = nativeWin.displayState;
        var afterState = air.NativeWindowDisplayState.MAXIMIZED;
        var displayStateEvent = 
            new air.NativeWindowDisplayStateEvent(air.NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING,
                                              true,true,beforeState,afterState);
        nativeWin.dispatchEvent(displayStateEvent);
        if(!displayStateEvent.isDefaultPrevented()){
            nativeWin.maximize();
            return true;
        } else {
          return false;
        }
     }
     return false;
}
AIR-only minimize()方法 
public function minimize():void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

使此窗口最小化。

调用 minimize() 将调度 displayStateChange 事件,如果适用,还将调度 move 和 resize 事件。系统镶边将调度 displayStateChanging 事件,当用户启动最小化命令时可取消该事件,而直接调用 minimize() 不能调度该事件。如果需要,您的最小化逻辑可以实现此行为。

minimize() 方法异步执行。若要检测状态更改是否完成,请侦听 displayStateChange 事件。

如果窗口已经最小化,则不执行任何动作,也不调度任何事件。

某些 Linux 窗口管理器不允许将实用程序窗口最小化。


引发
IllegalOperationError — 如果此窗口的 minimizable 属性为 false 或如果在关闭此窗口后调用该方法。

另请参见


示例

下面的示例演示如何通过调度 displayStateChanging 事件来允许取消对 minimize() 的调用:
public function minimizeWindow(nativeWin:NativeWindow):Boolean{
    if(nativeWin.displayState != NativeWindowDisplayState.MINIMIZED){
        var beforeState:String = nativeWin.displayState;
        var afterState:String = NativeWindowDisplayState.MINIMIZED;
        var displayStateEvent:NativeWindowDisplayStateEvent = 
            new NativeWindowDisplayStateEvent(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING,
                                              true,true,beforeState,afterState);
        nativeWin.dispatchEvent(displayStateEvent);
        if(!displayStateEvent.isDefaultPrevented()){
            nativeWin.minimize();
            return true;
        } else {
          return false;
        }
     }
     return false;
}

下面示例演示如何允许在 HTMLLoader 对象(或 HTML 窗口)中运行的 JavaScript 中取消对 minimize() 的调用:
function minimizeWindow(){
    if(window.nativeWindow.displayState != air.NativeWindowDisplayState.MINIMIZED){
        var beforeState = window.nativeWindow.displayState;
        var afterState = air.NativeWindowDisplayState.MINIMIZED;
        var displayStateEvent = 
            new air.NativeWindowDisplayStateEvent(air.NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING,
                                              true,true,beforeState,afterState);
        window.nativeWindow.dispatchEvent(displayStateEvent);
        if(!displayStateEvent.isDefaultPrevented()){
            window.nativeWindow.minimize();
            return true;
        } else {
          return false;
        }
     }
     return false;
}
AIR-only notifyUser()方法 
public function notifyUser(type:String):void

运行时版本: AIR 1.0

通过操作系统触发可视提示:发生了需要关注的事件。

NativeWindow.supportsNotificationtrue 时,可视提示将遵循本机系统的操作系统约定。例如在 Windows 中,任务栏图标将闪烁。

type 参数确定提示的强度。用作允许值的常数在 NotificationType 类中定义,这些常数可以是:

为信息性通知提供的提示持续时间很短,而为关键通知提供的提示将持续到用户激活此窗口为止。并非所有 Linux 窗口管理器都支持两种通知级别。对于此类窗口管理器,无论指定哪个选项,notifyUser() 的效果都将相同。

注意:允许在 NativeWindow.supportsNotificationfalse 时调用 notifyUser(),但不执行任何操作。

参数

type:String — 一个表示通知紧急程度的字符串。

AIR-only orderInBackOf()方法 
public function orderInBackOf(window:NativeWindow):Boolean

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

将此窗口放在紧靠指定窗口后面。

不要激活此窗口或应用程序或获取其焦点。最小化或隐藏的 (visiblefalse) 窗口无法重新排序。

某些 Linux 窗口管理器不允许将实用程序窗口排在常规窗口之后。

参数

window:NativeWindow — 一个应用程序窗口。

返回
Boolean — 如果此窗口成功地放到了后面,则为 true;如果此窗口不可见或最小化,则为 false

示例

下面的示例显示如何通过引用 NativeWindow 实例将一个窗口移动到紧靠另一个窗口下面:
windowBehind.orderInBackOf(windowFront);

使用对窗口舞台上的显示对象的引用:
displayObjBehind.stage.nativeWindow.orderInBackOf(displayObjectFront.stage.nativeWindow);

从使用对两个 JavaScript 窗口对象的引用的 HTMLLoader 对象(或 HTML 根窗口)中运行的 JavaScript 例程中:
jsWindowObjBehind.nativeWindow.orderInBackOf(jsWindowObjFront.nativeWindow);
AIR-only orderInFrontOf()方法 
public function orderInFrontOf(window:NativeWindow):Boolean

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

将此窗口放在紧靠指定窗口前面。

不要激活此窗口或应用程序或获取其焦点。最小化或隐藏的 (visiblefalse) 窗口无法重新排序。

某些 Linux 窗口管理器不允许将常规窗口排在实用程序窗口之前。

参数

window:NativeWindow — 一个应用程序窗口。

返回
Boolean — 如果此窗口成功地放到了前面,则为 true;如果此窗口不可见或最小化,则为 false

示例

下面的示例显示如何通过引用 NativeWindow 实例将一个窗口移动到紧靠另一个窗口上面:
windowFront.orderInFrontOf(windowBehind);

使用对窗口舞台上的显示对象的引用:
displayObjFront.stage.nativeWindow.orderInFrontOf(displayObjectBehind.stage.nativeWindow);

从使用对两个 JavaScript 窗口对象的引用的 HTMLLoader 对象(或 HTML 根窗口)中运行的 JavaScript 例程中:
jsWindowObjFront.nativeWindow.orderInFrontOf(jsWindowObjBehind.nativeWindow);
AIR-only orderToBack()方法 
public function orderToBack():Boolean

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

将此窗口放在任何其他可见窗口后面。

不要激活此窗口或应用程序或获取其焦点。最小化或隐藏的 (visiblefalse) 窗口无法重新排序。

如果 alwaysInFronttrue,则调用此方法不会将此窗口置于任何 alwaysInFront 设置为 false 的窗口的后面。

某些 Linux 窗口管理器不允许将实用程序窗口排在常规窗口之后。

返回
Boolean — 如果此窗口成功地放到了后面,则为 true;如果此窗口不可见或最小化,则为 false

示例

下面的示例显示如何将某个窗口放在应用程序中所有其它窗口(使用同样的 alwaysInFront 设置)的后面:
windowObj.orderToBack();

使用对窗口舞台上的显示对象的引用:
displayObj.stage.nativeWindow.orderToBack();

从窗口(或 HTML 根窗口)的 HTMLLoader 对象中运行的 JavaScript 例程:
window.nativeWindow.orderToBack();
AIR-only orderToFront()方法 
public function orderToFront():Boolean

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

将此窗口放在任何其他可见窗口前面。

不要激活此窗口或应用程序或获取其焦点。最小化或隐藏的 (visiblefalse) 窗口无法重新排序。

如果 alwaysInFrontfalse,则调用此方法不会将此窗口置于任何已将 alwaysInFront 设置为 true 的窗口的前面。

某些 Linux 窗口管理器不允许将常规窗口排在实用程序窗口之前。

返回
Boolean — 如果此窗口成功地放到了前面,则为 true;如果此窗口不可见或最小化,则为 false

示例

下面的示例显示如何将某个窗口放在应用程序中所有其它窗口(使用同样的 alwaysInFront 设置)的前面:
windowObj.orderToFront();

使用对窗口舞台上的显示对象的引用:
displayObj.stage.nativeWindow.orderToFront();

从窗口(或 HTML 根窗口)的 HTMLLoader 对象中运行的 JavaScript 例程:
window.nativeWindow.orderToFront();
AIR-only restore()方法 
public function restore():void

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

从最小化或最大化状态恢复此窗口。

调用 restore() 将调度 displayStateChange 事件,如果适用,还将调度 move 和 resize 事件。系统镶边将调度 displayStateChanging 事件,当用户启动还原命令时可取消该事件,如果需要,您的还原逻辑必须实现此行为。

restore() 方法异步执行。若要检测状态更改是否完成,请侦听 displayStateChange 事件。

如果窗口已经处于 NativeWindowDisplayState.NORMAL 状态,则不执行任何动作,也不调度任何事件。


引发
IllegalOperationError — 如果在已关闭此窗口后调用此方法。

另请参见


示例

下面的示例演示如何允许取消还原操作:
public function restoreWindow(nativeWin:NativeWindow):Boolean{
    if(nativeWin.displayState != NativeWindowDisplayState.NORMAL){
        var beforeState:String = nativeWin.displayState;
        var afterState:String = NativeWindowDisplayState.NORMAL;
        var displayStateChangingEvent:NativeWindowDisplayStateEvent = 
            new NativeWindowDisplayStateEvent(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING,
                                              true,true,beforeState,afterState);
        nativeWin.dispatchEvent(displayStateChangingEvent);
        if(!displayStateChangingEvent.isDefaultPrevented()){
            nativeWin.restore();
            return true;
        } else {
          return false;
        }
     }
     return false;
}

下面的示例演示如何允许在窗口(或 HTML 窗口)上的 HTMLLoader 对象中运行的 JavaScript 例程中取消还原操作:
function restoreWindow(nativeWin){
    if(window.nativeWindow.displayState != air.NativeWindowDisplayState.NORMAL){
        var beforeState = window.nativeWindow.displayState;
        var afterState = air.NativeWindowDisplayState.NORMAL;
        var displayStateEvent = 
            new air.NativeWindowDisplayStateEvent(air.NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING,
                                              true,true,beforeState,afterState);
        window.nativeWindow.dispatchEvent(displayStateEvent);
        if(!displayStateEvent.isDefaultPrevented()){
            window.nativeWindow.restore();
            return true;
        } else {
          return false;
        }
     }
     return false;
}
AIR-only startMove()方法 
public function startMove():Boolean

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

启动此窗口的系统控制移动。

在从 mouseDown 事件调用时,此方法开始一个由鼠标驱动的移动序列,该序列将持续到发生 mouseUp 事件为止。

在从其他代码调用时,此方法开始一个由键盘或鼠标驱动的移动序列,该序列与操作系统的默认序列一致。

在移动序列执行期间,随着窗口原点的移动,将调度一系列事件。对于每次增量移动,首先调度一个 moving 事件,然后,如果未取消该 moving 事件,则将更新窗口位置并调度一个 move 事件。如果取消了 moving 事件,则移动序列将立即终止。

返回
Boolean — 如果成功启动了移动,则为 true;如果最大化了窗口,则为 false

引发
IllegalOperationError — 如果在已关闭此窗口后调用此方法。

示例

下面的示例演示如何为响应 mouseDown 事件来移动窗口:
import flash.display.NativeWindow;
import flash.events.MouseEvent;

public class MovableWindow extends NativeWindow{
    private function MovableWindow():void{
        super(new NativeWindowInitOptions());
        this.stage.addEventListener(MouseEvent.MOUSE_DOWN, onMoveCommand);
        this.activate();
    }
    
    private function onMoveCommand(event:MouseEvent):void{
        this.startMove();
    }
}
AIR-only startResize()方法 
public function startResize(edgeOrCorner:String):Boolean

语言版本: ActionScript 3.0
运行时版本: AIR 1.0

启动此窗口的系统控制调整大小操作。

在从 mouseDown 事件处理函数调用时,此方法开始一个由鼠标驱动的调整大小序列,该序列将持续到发生 mouseUp 事件为止。

在从其他代码调用时,此方法开始一个由键盘或鼠标驱动的调整大小序列,该序列与操作系统的默认序列一致。

在调整大小序列执行期间,随着窗口尺寸的更改,将调度一系列事件。对于每次增量更改,首先调度一个 resizing 事件,然后,如果未取消该 resizing 事件,则将更新窗口尺寸并调度一个 resize 事件。如果取消了 resizing 事件,则该序列将立即终止。

参数

edgeOrCorner:String (default = NaN) — NativeWindowResize 类中的一个常数,用于指定要调整此窗口的哪个边或角的大小。以下是有效值:

垂直对齐方式水平对齐方式
NativeWindowResize.TOP 顶对齐居中对齐
NativeWindowResize.BOTTOM 底对齐居中对齐
NativeWindowResize.LEFT 居中对齐左对齐
NativeWindowResize.RIGHT 居中对齐右对齐
NativeWindowResize.TOP_LEFT 顶对齐左对齐
NativeWindowResize.TOP_RIGHT 顶对齐右对齐
NativeWindowResize.BOTTOM_LEFT 底对齐左对齐
NativeWindowResize.BOTTOM_RIGHT 底对齐右对齐
NativeWindowResize.NONE 底对齐右对齐

返回
Boolean — 如果成功启动了调整大小,则为 true;如果最大化了窗口,则为 false

引发
IllegalOperationError — 如果在已关闭此窗口后调用此方法。

示例

下面示例演示如何为响应 mouseDown 事件来调整窗口大小:
public class ResizableWindow extends NativeWindow
{
    public function ResizableWindow()
    {
        var options:NativeWindowInitOptions = new NativeWindowInitOptions();
        super(options);
        this.stage.align = StageAlign.TOP_LEFT;
        this.stage.scaleMode = StageScaleMode.NO_SCALE;
        this.stage.addEventListener(MouseEvent.MOUSE_DOWN, onResizeCommand);
        this.activate();
    }

    private function onResizeCommand(event:MouseEvent):void{
        var resizeFrom:String = "";
        if(event.localY < this.height * .33){resizeFrom = "T";}
        else if(event.localY > this.height * .66){resizeFrom = "B";}
        if(event.localX < this.width * .33){resizeFrom += "L";}
        else if(event.localX > this.width * .66){resizeFrom += "R";}
        
        this.startResize(resizeFrom);
    }    
}
事件详细信息
AIR-only activate 事件
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.ACTIVATE

运行时版本: AIR 1.0

在激活窗口后由此 NativeWindow 对象调度。

ACTIVATE 常量定义 activate 事件对象的 type 属性的值。

注意:此事件既不具有“捕获阶段”也不具有“冒泡阶段”,这意味着必须直接将事件侦听器添加到任何潜在的目标,而无论目标是否位于显示列表中。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 activate 事件注册的侦听器的任何 DisplayObject 实例。
AIR-only close 事件  
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.CLOSE

运行时版本: AIR 1.0

在关闭窗口后由此 NativeWindow 对象调度。

Event.CLOSE 常量定义 close 事件对象的 type 属性的值。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 已关闭其连接的对象。
AIR-only closing 事件  
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.CLOSING

运行时版本: AIR 1.0

在关闭窗口的前一刻由此 NativeWindow 对象调度。可以取消此事件以避免关闭窗口。

Event.CLOSING 常量定义 closing 事件对象的 type 属性值。

此事件具有以下属性:

属性
bubbles false
cancelable true;取消此事件对象将停止关闭操作。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 要关闭其连接的对象。
AIR-only deactivate 事件  
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.DEACTIVATE

运行时版本: AIR 1.0

在取消激活窗口后由此 NativeWindow 对象调度。

Event.DEACTIVATE 常量定义 deactivate 事件对象的 type 属性值。

注意:此事件既不具有“捕获阶段”也不具有“冒泡阶段”,这意味着必须直接将事件侦听器添加到任何潜在的目标,而无论目标是否位于显示列表中。

此事件具有以下属性:

属性
bubbles false
cancelable false;没有要取消的默认行为。
currentTarget 当前正在使用某个事件侦听器处理 Event 对象的对象。
target 具有为 deactivate 事件注册的侦听器的任何 DisplayObject 实例。
AIR-only displayStateChange 事件  
事件对象类型: flash.events.NativeWindowDisplayStateEvent
属性 NativeWindowDisplayStateEvent.type = flash.events.NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGE

运行时版本: AIR 1.0

在窗口的 displayState 属性更改后由此 NativeWindow 对象调度。

定义 displayStateChange 事件对象的 type 属性值。此事件具有以下属性:
属性Values
afterDisplayState 窗口的旧显示状态。
beforeDisplayState 窗口的新显示状态。
target 刚刚更改状态的 NativeWindow 实例。
bubbles 否。
currentTarget 指示当前正在使用事件侦听器处理该 Event 对象的对象。
cancelable false;没有要取消的默认行为。
AIR-only displayStateChanging 事件  
事件对象类型: flash.events.NativeWindowDisplayStateEvent
属性 NativeWindowDisplayStateEvent.type = flash.events.NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING

运行时版本: AIR 1.0

在窗口更改其显示状态的前一刻由此 NativeWindow 对象调度。可以取消此事件以避免更改。

定义 displayStateChanging 事件对象的 type 属性值。此事件具有以下属性:
属性Values
afterDisplayState 未处理的更改之前的窗口显示状态。
beforeDisplayState 未处理的更改之后的窗口显示状态。
target 刚刚更改状态的 NativeWindow 实例。
bubbles 否。
currentTarget 指示当前正在使用事件侦听器处理该 Event 对象的对象。
cancelable true;取消该事件会阻止更改。

示例

下面的示例演示如何取消 displayStateChanging 事件。
function displayStateChanging_handler(displayStateEvent:NativeWindowDisplayStateEvent):void
{
  //shouldStopStateChange is an application-defined Boolean indicating 
  //that display state changes should be canceled
  if (displayStateEvent.type == NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING 
                                  &&    shouldStopStateChange)
  {
    displayStateEvent.preventDefault();
  }
}
AIR-only move 事件  
事件对象类型: flash.events.NativeWindowBoundsEvent
属性 NativeWindowBoundsEvent.type = flash.events.NativeWindowBoundsEvent.MOVE

运行时版本: AIR 1.0

在桌面上移动窗口后由此 NativeWindow 对象调度。

每当窗口原点(xy 属性)更改时调度 move 事件,窗口原点的更改可能是系统控制的窗口移动操作的结果:最小化、最大化或还原窗口、或通过设置 xybounds 属性更改窗口位置。

注意:在 NativeWindow 对象的 movingmove 事件的处理函数中,避免可能会同时打开操作系统对话框的动作。例如,如果两个处理函数都引发错误,则可能发生这种情况。如果真的发生这种情况,则打开的第二个对话框将不会注册鼠标单击,必须使用键盘才能取消。

定义 move 事件对象的 type 属性值。此事件具有以下属性:
属性Values
afterBounds 窗口的新范围。
beforeBounds 窗口的旧范围。
target 刚刚更改状态的 NativeWindow 对象。
bubbles 否。
currentTarget 指示当前正在使用事件侦听器处理该 Event 对象的对象。
cancelable false;没有要取消的默认行为。
AIR-only moving 事件  
事件对象类型: flash.events.NativeWindowBoundsEvent
属性 NativeWindowBoundsEvent.type = flash.events.NativeWindowBoundsEvent.MOVING

运行时版本: AIR 1.0

在桌面上移动窗口的前一刻由此 NativeWindow 对象调度。可以取消此事件以避免或修改移动。

注意:在 NativeWindow 对象的 movingmove 事件的处理函数中,避免可能会同时打开操作系统对话框的动作。例如,如果两个处理函数都引发错误,则可能发生这种情况。如果真的发生这种情况,则打开的第二个对话框将不会注册鼠标单击,必须使用键盘才能取消。

定义 moving 事件对象的 type 属性值。此事件具有以下属性:
属性Values
afterBounds 未处理的更改之后的窗口范围。
beforeBounds 未处理的更改之前的窗口范围。
bubbles 否。
cancelable true;取消该事件会阻止窗口移动。
currentTarget 指示当前正在使用事件侦听器处理该 Event 对象的对象。
target 刚刚更改状态的 NativeWindow 对象。
AIR-only resize 事件  
事件对象类型: flash.events.NativeWindowBoundsEvent
属性 NativeWindowBoundsEvent.type = flash.events.NativeWindowBoundsEvent.RESIZE

运行时版本: AIR 1.0

在调整窗口大小后由此 NativeWindow 对象调度。每当窗口大小(widthheight 属性)更改时调度 resize 事件,窗口大小的更改可能是系统控制的窗口大小调整操作的结果:最小化、最大化或还原窗口、或通过设置 widthheightbounds 属性更改窗口大小。NativeWindow 的 resize 事件是在系统控制的调整大小循环中调度的。相反,Stage 对象的 resize 事件是在舞台准备好绘图时调度的。

定义 resize 事件对象的 type 属性值。此事件具有以下属性:
属性Values
afterBounds 窗口的新范围。
beforeBounds 窗口的旧范围。
target 刚刚更改状态的 NativeWindow 对象。
bubbles 否。
currentTarget 指示当前正在使用事件侦听器处理该 Event 对象的对象。
cancelable false;没有要取消的默认行为。

另请参见

AIR-only resizing 事件  
事件对象类型: flash.events.NativeWindowBoundsEvent
属性 NativeWindowBoundsEvent.type = flash.events.NativeWindowBoundsEvent.RESIZING

运行时版本: AIR 1.0

在桌面上调整窗口大小的前一刻由此 NativeWindow 对象调度。可以取消此事件以避免或修改调整大小。

定义 resizing 事件对象的 type 属性值。此事件具有以下属性:
属性Values
afterBounds 未处理的更改之后的窗口范围。
beforeBounds 未处理的更改之前的窗口范围。
target 刚刚更改状态的 NativeWindow 对象。
bubbles 否。
currentTarget 指示当前正在使用事件侦听器处理该 Event 对象的对象。
cancelable true;取消该事件会阻止窗口移动。

示例

下面的示例演示如何取消 resizing 事件。
function boundsChanging_handler(boundsEvent:NativeWindowBoundsEvent):void
{
  //shouldStopResize is an application-defined Boolean indicating 
  //that resize operations should be canceled
  if (boundsEvent.type == NativeWindowBoundsEvent.RESIZING && shouldStopResize)
  {
    boundsEvent.preventDefault();
  }
}