window.runtime 属性window.runtime.flash.display.NativeWindow
继承NativeWindow Inheritance EventDispatcher Inheritance Object

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.createRootContent() 创建该窗口通常更容易些。以此方式创建的窗口将会自动添加 HTMLLoader 对象。(也可以从 JavaScript 中使用 JavaScript window.open() 函数。不过,此方法对窗口外观和行为的控制能力较差。)

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

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

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

另请参见

Stage.nativeWindow
NativeWindowInitOptions
NativeApplication


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

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

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

另请参见

alwaysInFront属性 
alwaysInFront:Boolean  [读写]

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

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

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

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

注意:在 Mac® OS X 中,如果窗口舞台的 displayState 属性为 fullScreenfullScreenInteractive,将 alwaysInFront 设置为 true 将不起作用。


示例
使某个窗口保持在其它窗口的前面:
window.nativeWindow.alwaysInFront = true;
使某个窗口保持在其它窗口的前面:
window.nativeWindow.alwaysInFront = true;
bounds属性 
bounds:Rectangle  [读写]

此窗口的大小和位置。

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

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

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

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

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


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

另请参见


示例
设置本机桌面窗口的位置和大小:
window.nativeWindow.bounds = new air.Rectangle(20, 20, 800, 600);
设置本机桌面窗口的位置和大小:
window.nativeWindow.bounds = new air.Rectangle(20, 20, 800, 600);
closed属性 
closed:Boolean  [只读 (read-only)]

指示此窗口是否已关闭。

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

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

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

此窗口的显示状态。

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


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

另请参见

height属性 
height:Number  [读写]

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

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

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

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


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

另请参见

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

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

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


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

另请参见

maxSize属性 
maxSize:Point  [读写]

此窗口的最大大小。

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

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

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

注意:即使最大化后的窗口将比操作系统屏幕小,最大化窗口时也只将该窗口放大到 maxSize 值。该窗口将仍然处于最大化显示状态。


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

另请参见


示例
设置窗口的最大大小:
window.nativeWindow.maxSize = new air.Point(960, 960);
设置窗口的最大大小:
window.nativeWindow.maxSize = new air.Point(960, 960);
menu属性 
menu:NativeMenu  [读写]

此窗口的本机菜单。

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

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

另请参见

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

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

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


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

另请参见

minSize属性 
minSize:Point  [读写]

此窗口的最小大小。

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

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

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

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


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

另请参见


示例
设置窗口的最小大小:
window.nativeWindow.minSize = new air.Point(80, 60);
设置窗口的最小大小:
window.nativeWindow.minSize = new air.Point(80, 60);
resizable属性 
resizable:Boolean  [只读 (read-only)]

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

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


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

另请参见

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

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

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

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

另请参见

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

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

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

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

另请参见

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

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

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

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

另请参见

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

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

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

注意:某个应用程序运行时,此属性值可能会更改,这取决于用户首选项。

另请参见

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

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

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

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


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

另请参见


示例
检查窗口使用的系统镶边类型:
var sysChromeType = window.nativeWindow.systemChrome;
检查窗口使用的系统镶边类型:
var sysChromeType = window.nativeWindow.systemChrome;
systemMaxSize属性 
systemMaxSize:Point  [只读 (read-only)]

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

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

con

systemMinSize属性 
systemMinSize:Point  [只读 (read-only)]

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

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

con

title属性 
title:String  [读写]

窗口标题。

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


引发
IllegalOperationError — 如果在关闭此窗口后访问该属性。
transparent属性 
transparent:Boolean  [只读 (read-only)]

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

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


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

另请参见

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

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

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

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


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

另请参见

visible属性 
visible:Boolean  [读写]

指定此窗口是否可见。

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

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

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


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

另请参见


示例
使窗口可见:
window.nativeWindow.visible = true;
使窗口可见:
window.nativeWindow.visible = true;
width属性 
width:Number  [读写]

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

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

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

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


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

另请参见

x属性 
x:Number  [读写]

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

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

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


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

另请参见

y属性 
y:Number  [读写]

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

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

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


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

另请参见

构造函数详细信息
NativeWindow()构造函数
function NativeWindow(initOptions:NativeWindowInitOptions)

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

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

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

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

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

另请参见

方法详细信息
activate()方法
function activate():void

激活此窗口。

激活一个窗口将会:

另请参见


示例



激活窗口:
window.nativeWindow.activate();
close()方法 
function close():void

关闭此窗口。

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

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

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

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

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

另请参见


示例



关闭窗口:
window.close();

或者:
window.nativeWindow.close();


下面的示例演示如何从 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>
globalToScreen()方法 
function globalToScreen(globalPoint:Point):Point

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

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

参数

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

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

另请参见

maximize()方法 
function maximize():void

使此窗口最大化。

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

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

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

注意:在某些操作系统中(比如 Mac OS X),最大化窗口后并不会阻止调整窗口大小,调用 maximize() 将缩放窗口以填充屏幕,但并不阻止随后调整窗口大小。调整经过缩放的窗口的大小也会还原显示状态。


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

另请参见


示例


下面的示例演示如何允许取消最大化操作:
function maximizeWindow(){
    if(window.nativeWindow.displayState != air.NativeWindowDisplayState.MAXIMIZED){
        var beforeState = window.nativeWindow.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()){
            window.nativeWindow.maximize();
            return true;
        } else {
          return false;
        }
     }
     return false;
}
minimize()方法 
function minimize():void

使此窗口最小化。

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

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

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


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

另请参见


示例


下例演示如何允许取消对 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;
}
notifyUser()方法 
function notifyUser(type:String):void

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

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

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

为信息性通知提供的提示持续时间很短,而为关键通知提供的提示将持续到用户激活此窗口为止。

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

参数

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

orderInBackOf()方法 
function orderInBackOf(window:NativeWindow):Boolean

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

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

参数

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

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

示例



通过引用两个 JavaScript 窗口对象,将一个窗口排在另一个窗口的后面:
jsWindowObjBehind.nativeWindow.orderInBackOf(jsWindowObjFront.nativeWindow);
orderInFrontOf()方法 
function orderInFrontOf(window:NativeWindow):Boolean

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

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

参数

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

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

示例



通过引用两个 JavaScript 窗口对象,将一个窗口排在另一个窗口的前面:
jsWindowObjFront.nativeWindow.orderInFrontOf(jsWindowObjBehind.nativeWindow);

orderToBack()方法 
function orderToBack():Boolean

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

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

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

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

示例



将窗口放在显示顺序的最后面:
window.nativeWindow.orderToBack();

orderToFront()方法 
function orderToFront():Boolean

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

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

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

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

示例



将窗口带到显示顺序的最前面:
window.nativeWindow.orderToFront();

restore()方法 
function restore():void

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

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

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

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


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

另请参见


示例


下面的示例演示如何允许取消还原操作:
function restoreWindow(){
    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;
}
startMove()方法 
function startMove():Boolean

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

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

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

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

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

引发
IllegalOperationError — 如果在已关闭此窗口后调用此方法。
startResize()方法 
function startResize(edgeOrCorner:String):Boolean

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

在从 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 — 如果在已关闭此窗口后调用此方法。
事件详细信息
activate 事件
事件对象类型: flash.events.Event
属性 Event.type = flash.events.Event.ACTIVATE

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

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

注意:无论目标是否出现在显示列表中,此事件都不会通过“捕获阶段”,而是被直接调度给此目标。

此事件具有以下属性:

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

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

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

此事件具有以下属性:

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

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

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

此事件具有以下属性:

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

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

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

注意:无论目标是否出现在显示列表中,此事件都不会通过“捕获阶段”,而是被直接调度给此目标。

此事件具有以下属性:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

另请参见

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

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

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