Availability
Netscape 3 LiveConnect
Synopsis
javaobject.member // Read or write an instance field or methodProperties
Each JavaObject object contains properties that have the same names
as the public instance fields and methods (but not the static or
class fields and methods) of the Java object it represents. These
properties allow you to read and write the value of public fields and
invoke the public methods. The properties of a given JavaObject
object obviously depend on the type of Java object it represents. You
can use the for/in loop to enumerate the
properties of any given JavaObject.
Description
The JavaObject object is a JavaScript representation of a Java
object. The properties of a JavaObject object represent the public
instance fields and public instance methods defined for the Java
object. (The class or static fields and methods of the object are
represented by the JavaClass object.)
The JavaObject object implements the LiveConnect functionality that
allows JavaScript programs to read and write the public instance
fields of a Java object using normal JavaScript syntax. It also
provides the functionality that allows JavaScript to invoke the
methods of a Java object. Data conversion between JavaScript and Java
representations is handled automatically by LiveConnect. See Chapter 22 for full details.
Usage
Bear in mind
that Java is a typed language. This means that
each of the fields of an object has a specific data type, and you can
set it only to values of that type. For example, the
width field of a
java.awt.Rectangle object is an integer field, and
attempting to set it to a string causes a JavaScript error or
exception.
Example
java.awt.Rectangle is a JavaClass that represents
the java.awt.Rectangle class. We can create a
JavaObject that represents an instance of this class like this:
var r = new java.awt.Rectangle(0,0,4,5);
We can then read the public instance variables of this JavaObject
r with code like this:
var perimeter = 2*r.width + 2*r.height;
We can also set the value of public instance variables of
r using JavaScript syntax:
r.width = perimeter/4;
r.height = perimeter/4;
See Also
getClass( ), JavaArray, JavaClass, JavaPackage, the
java property of the Window object; Chapter 22