FREObject

包:
com.adobe.fre

继承
java.lang.Object

子类
FREArray FREBitmapData FREByteArray

运行时版本
AIR 3

FREObject 类表示 Java 代码的 ActionScript 对象。

方法

方法

说明

public static FREObject newObject( int value)

创建包含 32 位带符号整数值的 FREObject。

public static FREObject newObject( double value)

创建包含 Java double 值的 FREObject,对应于 ActionScript Number 类型。

public static FREObject newObject( boolean value)

创建包含 boolean 值的 FREObject。

public static FREObject newObject( String value)

创建包含 String 值的 FREObject。

public int getAsInt()

访问 FREObject 中作为 Java int 值的数据。

public double getAsDouble()

访问 FREObject 中作为 Java double 值的数据。

public Boolean getAsBool()

访问 FREObject 中作为 Java Boolean 值的数据。

public String getAsString()

访问 FREObject 中作为 Java String 值的数据。

public static native FREObject newObject(String className, FREObject[] constructorArgs)

创建引用 ActionScript 类的新实例的 FREObject。

public FREObject getProperty(String propertyName)

获取 ActionScript 属性的值。

public void setProperty( String propertyName, FREObject propertyValue )

设置 ActionScript 属性的值。

public FREObject callMethod( String methodName, FREObject[] methodArgs )

调用 ActionScript 方法。

使用 FREObjects 在扩展中的 Java 和 ActionScript 代码间共享数据。运行时将 FREObject 变量与相应的 ActionScript 对象关联。使用 getProperty() setProperty() callMethod() 函数可以访问与 FREObject 关联的 ActionScript 对象的属性和方法。

FREObject 是一般目的对象。它可以表示原始值,也可以表示类类型。如果访问对象采用与对象中数据不兼容的方式,则会引发 FRETypeMismatchException。

FREObjects 可用于表示所有 ActionScript 对象。此外,子类 FREArray、FREBitmapData 和 FREByteArray 提供了其他方法来处理特定类型的数据。

通过从 FREFunction 实例的 call() 方法返回 FREObject,可以将数据从 Java 传递到 ActionScript 代码。ActionScript 代码将数据作为 ActionScript 对象接收,从而可以将其转换为相应的原始或类类型。还可以设置属性并调用对其具有 FREObject 引用的 ActionScript 对象的方法。当设置 ActionScript 方法的属性或参数时,请使用 FREObject。

您可以将数据从 ActionScript 作为对 FREFunction 实例的 call() 方法的参数传递到 Java 代码。当调用 call() 方法时,参数将封装到 FREObject 实例中。如果参数是对 ActionScript 对象的引用,则 Java 代码可以读取属性值并调用该对象的方法。这些属性和函数返回值将作为 FREObjects 提供给您的 Java 代码。您可以使用 FREObject 方法访问作为 Java 类型的数据,并在适当时将对象向下转换为 FREObject 子类,例如 FREBitmapData。

方法详细信息

newObject( int )

public static FREObject newObject( int value )

创建包含 32 位带符号整数值的 FREObject。

参数:

value
带符号整数。

返回:

FREObject
FREObject。

示例:

FREObject value = FREObject.newObject( 4 );

newObject( double )

public static FREObject newObject( double value )

创建包含 Java double 值的 FREObject,对应于 ActionScript Number 类型。

参数:

value
double 值。

返回:

FREObject
FREObject。

示例:

FREObject value = FREObject.newObject( 3.14156d );

newObject( boolean )

public static FREObject newObject( boolean value )

创建包含 boolean 值的 FREObject。

参数:

value
true 或 false。

返回:

FREObject
FREObject。

示例:

FREObject value = FREObject.newObject( true );

newObject( String )

public static FREObject newObject( String value )

创建包含 String 值的 FREObject。

参数:

value
String 值。

返回:

FREObject
FREObject。

示例:

FREObject value = FREObject.newObject( "A string value" );

getAsInt

public int getAsInt()

访问 FREObject 中作为 Java int 值的数据。

返回:

int
整数值。

示例:

int value = FREObject.getAsInt();

getAsDouble

public double getAsDouble()

访问 FREObject 中作为 Java double 值的数据。

返回:

double
double 值。

示例:

double value = FREObject.getAsInt();

getAsBool

public Boolean getAsBool()

访问 FREObject 中作为 Java Boolean 值的数据。

返回:

boolean
true false

示例:

boolean value = FREObject.getAsInt();

getAsString

public String getAsString()

访问 FREObject 中作为 Java String 值的数据。

返回:

String
String 值。

示例:

String value = FREObject.getAsInt();

newObject( String, FREObject[] )

public static native FREObject newObject( String className, FREObject[] constructorArgs )

创建引用 ActionScript 类的新实例的 FREObject。

参数:

className
完全限定 ActionScript 类名。

constructorArgs
作为 FREObjects 的数组传递到 ActionScript 类构造函数的参数。如果类构造函数没有任何参数,则设置为 null

返回:

FREObject
表示 ActionScript 类的新实例的 FREObject。

示例:

FREObject matrix = FREObject.newObject( "flash.geom.Matrix", null );

getProperty

public FREObject getProperty( String propertyName )

获取 ActionScript 属性的值。

参数:

propertyName
要访问的属性的名称。

返回:

FREObject
作为 FREObject 的指定属性的值。

示例:

FREObject isDir = fileobject.getProperty( "isDirectory" );

setProperty

public void setProperty( String propertyName, FREObject propertyValue )

设置 ActionScript 属性的值。

参数:

propertyName
要设置的属性的名称。

propertyValue
包含新属性值的 FREObject。

示例:

fileobject.setProperty( "url", FREObject.newObject( "app://file.txt" ) );

callMethod

public FREObject callMethod( String methodName, FREObject[] methodArgs )

调用 ActionScript 方法。

参数:

methodName
要调用的方法的名称。

methodArgs
包含该方法的参数的 FREObjects 数组,采用方法参数的声明顺序。

返回:

FREObject
方法结果。如果 ActionScript 方法返回一个 Array、Vector 或 BitmapData 对象,则可以将结果转换为 FREObject 的对应的子类。

示例:

FREObject[] args = new FREObject[1] 
args[0] = FREObject.newObject( "assets/image.jpg" ); 
FREObject imageFile = directoryobject.callMethod( "resolvePath", args );