JavaScript: The Definitive Guide

Previous Chapter 21
JavaScript Reference
Next
 

JavaObject Object

Name

JavaObject Object---JavaScript representation of a Java object

Availability

Navigator 3.0

Synopsis

javaobject.field    read or write an instance field

Properties

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. 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. The JavaObject also provides the functionality that allows JavaScript to read the methods of a Java object, although it is the JavaMethod object that allows JavaScript to actually invoke those methods. Data conversion between JavaScript and Java representations is handled automatically by LiveConnect. See Chapter 19, LiveConnect: JavaScript and Java for full details.

Usage

Bear in mind that Java is a typed language. This means that each of the fields of an object have a specific data type, and you can only set them 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 will cause a JavaScript error to occur.

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);
And then we can 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()", "java", "JavaArray", "JavaClass", "JavaMethod", "JavaPackage", "Packages", Chapter 19, LiveConnect: JavaScript and Java


Previous Home Next
JavaMethod Book Index JavaPackage

HTML: The Definitive Guide CGI Programming JavaScript: The Definitive Guide Programming Perl WebMaster in a Nutshell