A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | R | S | T | U | W |

Index: J

java JavaArray JavaArray.length
JavaClass JavaObject JavaPackage
JSObject JSObject.call() JSObject.eval()
JSObject.getMember() JSObject.getSlot() JSObject.getWindow()
JSObject.removeMember() JSObject.setMember() JSObject.setSlot()
JSObject.toString()



javaプロパティ ・・・ java.* パッケージ

対応バージョン

クライアントサイドNavigator 3

コーディング形式

java

解説

javaプロパティはWindowオブジェクトのグローバルな読み出し専用のプロパティです。通常は、特定のウィンドウを指定せずに使用します。javaプロパティはPackages.javaプロパティと同じで、(java.* パッケージ名階層の最上位ノードに相当する)JavaPackageオブジェクトへの参照が格納されます。例えば、javaというPackageオブジェクトのlangプロパティは、java.langパッケージに対応するJavaPackageオブジェクトへの参照が格納されます。

関連項目

JavaPackagePackages.java



JavaArrayオブジェクト ・・・ Java配列に相当するJavaScriptの表現

対応バージョン

クライアントサイドNavigator 3

コーディング形式

javaarray.length    配列内の要素数。
javaarray[index]    配列要素の読み書き。

プロパティ

length	読み出し専用の整数。JavaArrayオブジェクトが示す
	Java配列内の要素数のこと。

解説

JavaArrayオブジェクトはJava配列のJavaScriptでの表現です。JavaArray オブジェクトを使用すると、JavaScriptコードで使い慣れたJavaScript配列の構文を使ってJava配列の要素の読み書きができます。JavaArrayオブジェクトのlengthフィールドはJava配列の要素数を示します。
配列要素の値を読み書きすると、JavaScriptとJavaとの間のデータ変換が自動的に行われます。詳細は「20章」を参照してください。

使用上のヒントと注意

Java配列とJavaScript配列には相違点が二つあります。1つは、Java配列の場合、生成時に指定した要素数を変更できません。そのため、JavaArrayオブジェクトのlengthフィールドは読み出ししかできません。もう1つは、Javaの配列には型があり、配列の各要素はすべて同じ型でなければなりません。異なる型の値を配列の要素に代入しようとすると、JavaScriptエラーになります。

使用例

java.awt.PolygonはJavaClassオブジェクトの1つです。このクラスのインスタンスに相当するJavaObjectオブジェクトを生成する場合は、次のようにします。

p = new java.awt.Polygon();

ここで生成されたオブジェクトpには、xpointsプロパティとypointsプロパティがあります。これらのプロパティは、Javaの整数配列に相当するJavaArrayオブジェクトになります。これらの配列をJavaScriptコードで初期化する場合は、次のようにします。
  for(int i = 0; i < p.xpoints.length; i++)
    p.xpoints[i] = Math.round(Math.random()*100);
  for(int i = 0; i < p.ypoints.length; i++)
    p.ypoints[i] = Math.round(Math.random()*100);

関連項目

getClass()javaJavaClassJavaObjectJavaPackagePackages、20章



JavaArray.lengthプロパティ ・・・ Java配列の要素数

対応バージョン

クライアントサイドNavigator 3

コーディング形式

javaarray.length

解説

JavaArrayオブジェクトのlengthプロパティは読み出し専用の整数です。この整数はJavaArrayオブジェクトで表現されているJava配列の要素数のことです。このプロパティが読み出ししかできないのは、Java配列の要素数が固定されているからです。

関連項目

getClass()javaJavaArrayJavaClassJavaObjectJavaPackagePackages、20章



JavaClassオブジェクト ・・・ Javaクラスに相当するJavaScriptのオブジェクト

対応バージョン

クライアントサイドNavigator 3

コーディング形式

javaclass.static_member  Javaのstaticフィールドとメソッドに対する読み書き。
new javaclass(...)       Javaオブジェクトの生成。

プロパティ

JavaClassオブジェクトのプロパティの名前は、対応するJavaクラスのpublic staticフィールドやメソッドと同じです。これらのプロパティを使用すると、クラスのstaticフィールドに対する読み書きができます。それぞれのJavaClassオブジェクトごとにプロパティも異なります。特定のJavaClassオブジェクトのプロパティは、for/inループで調べることができます。

解説

JavaClassはJavaクラスに相当するJavaScriptのオブジェクトです。JavaClassオブジェクトのプロパティは、対応するJavaクラスのpublic staticフィールド(クラスフィールド)やpublic staticメソッド(クラスメソッド)と同じです。ただし、JavaClassオブジェクトはJavaクラスのインスタンスフィールドに対応するプロパティは持たないことに注意してください。Javaクラスの個々のインスタンスはJavaObjectオブジェクトになります。
JavaClassオブジェクトは、JavaScriptプログラムから通常のJavaScript構文を使ってJavaクラスのstatic変数に対する読み書きができるようにするLiveConnectの機能を実装しています。JavaClassオブジェクトを使用することで、JavaScriptはJavaクラスのstaticメソッドを読み出すこともできます。
JavaScriptはJavaClassオブジェクトを使用することで、Javaの変数やメソッドにアクセスするだけではなく、Javaオブジェクト(JavaScriptではJavaObjectオブジェクトになる)を生成することもできます。newキーワードでJavaClassのコンストラクタを呼び出してJavaオブジェクトを生成します。
JavaClassオブジェクトを通してのJavaScriptとJavaとの間のデータ変換は、LiveConnectが自動的に行います。詳細は「20章」を参照してください。

使用上のヒントと注意

Javaは型のある言語であることに注意してください。これは、オブジェクトの各フィールドごとにデータ型が決まっており、決められたデータ型しか指定できないという意味です。それ以外のデータ型を指定すると、JavaScriptエラーになります。不適切なデータ型をメソッドの引数に指定すると、これもエラーになります。

使用例

java.lang.Systemは、Javaのjava.lang.Systemクラスに相当するJavaClassオブジェクトです。このクラスのstaticフィールドから値を読み出すコード例を以下に示します。

var java_console = java.lang.System.out;

このクラスのstaticメソッドを呼び出すコード例を以下に示します。

var version = java.lang.System.getProperty("java.version");

新たにJavaオブジェクトを生成するJavaClassオブジェクトの例を以下に示します。

var java_date = new java.lang.Date();

関連項目

getClass()javaJavaArrayJavaObjectJavaPackagePackages、20章



JavaObjectオブジェクト ・・・ Javaオブジェクトに相当するJavaScriptのオブジェクト

対応バージョン

クライアントサイドNavigator 3

コーディング形式

javaobject.member  インスタンスフィールドとメソッドに対する読み書き。

プロパティ

JavaObjectオブジェクトのプロパティの名前は、対応するJavaオブジェクトのpublicインスタンスフィールド(static[クラス]フィールドを除く)やpublicインスタンスメソッド(static[クラス]メソッドを除く)と同じです。これらのプロパティを使用してpublicフィールドの値を読み書きや、メソッドの呼び出しを行います。JavaObjectオブジェクトのプロパティは、Javaオブジェクトの型によって決まります。特定のJavaObjectのプロパティを調べる場合は、for/inループが使用できます。

解説

JavaObjectは、Javaオブジェクトに相当するJavaScriptのオブジェクトです。JavaObjectオブジェクトのプロパティは、Javaオブジェクトのpublicインスタンスフィールドやpublicインスタンスメソッドに対応します(なおクラスフィールド[staticフィールド]とクラスメソッド[staticメソッド]はJavaClassオブジェクトで表現されます)。
JavaObjectオブジェクトは、JavaScriptから通常のJavaScript構文でJavaオブジェクトのpublicインスタンスメソッドに対する読み書きができるようにするLiveConnectの機能を実装しています。JavaScriptはJavaObjectオブジェクトを介してJavaオブジェクトのメソッドを読み出すこともできます。JavaScriptとJavaとの間のデータ変換は、LiveConnectが自動的に行います。詳細は「20章」を参照してください。

使用上のヒントと注意

Javaは型のある言語であることに注意してください。これは、オブジェクトの各フィールドのデータ型が決められており、それ以外のデータ型は指定できないという意味です。例えば、java.awt.Rectangleオブジェクトのwidthフィールドのデータ型は整数と決められています。したがって、文字列をこのフィールドに代入しようとすると、JavaScriptエラーになります。

使用例

java.awt.Rectangleは、java.awt.Rectangleクラスに相当するJavaClassオブジェクトです。このクラスのインスタンスに相当するJavaObjectオブジェクトを生成するコード例を以下に示します。

var r = new java.awt.Rectangle(0,0,4,5);

このJavaObjectオブジェクトrのpublicインスタンス変数を読み出す場合は、次のようにします。

var perimeter = 2*r.width + 2*r.height;

JavaScript構文でこのオブジェクトrのpublicインスタンス変数を設定する場合は、次のようにします。

r.width = perimeter/4;
r.height = perimeter/4;

関連項目

getClass()javaJavaArrayJavaClassJavaPackagePackages、20章



JavaPackageオブジェクト ・・・Javaパッケージに相当するJavaScriptのオブジェクト

対応バージョン

Navigator 3

コーディング形式

package.package_name    ほかのJavaPackageを参照。
package.class_name      JavaClassオブジェクトを参照。

プロパティ

JavaPackageオブジェクトのプロパティの名前は、このオブジェクトが持つJavaPackageオブジェクトの名前や、JavaClassオブジェクトの名前と同じです。プロパティの内容はそれぞれのJavaPackageオブジェクトによって異なります。なお、JavaScriptのfor/inループを使ってJavaPackageオブジェクトのプロパティ名を調べることができないことに注意してください。各パッケージに格納されるパッケージやクラスについては、Javaのマニュアルを参照してください。

解説

JavaPackageオブジェクトはJavaパッケージに相当するJavaScriptのオブジェクトのことです。Javaのパッケージは関連したクラスの集まりですが、JavaScriptのJavaPackageオブジェクトはクラス(JavaClassオブジェクト)だけではなく、ほかのJavaPackageオブジェクトも格納します。
例えば、JavaPackageオブジェクトjavalangプロパティはjava.langパッケージ、netプロパティはjava.awtパッケージにそれぞれ相当しますが、これらもJavaPackageオブジェクトです。JavaPackageオブジェクトjava.awtFrameプロパティはjava.awt.Frameクラス、Buttonプロパティはjava.awt.Buttonクラスにそれぞれ相当しますが、これらはJavaClassオブジェクトです。JavaPackageオブジェクトjava.awtimageプロパティはjava.awt.imageパッケージに相当しますが、これもJavaPackageオブジェクトです。
このように、JavaPackageオブジェクトのプロパティの命名規則はJavaパッケージと同じです。しかし、JavaPackageオブジェクトとJavaパッケージには大きな相違が1つあります。それは、Javaパッケージはクラスの集まりであって、ほかのパッケージの集まりではないことです。したがって、JavaPackageオブジェクトjavaは、実際にはJavaパッケージではなく、java.langやjava.net、java.ioなどのコアJavaパッケージに相当するJavaPackageオブジェクトを格納する便宜的な名称に過ぎません。
これまで説明せずにJavaPackageオブジェクトjavaといういい方をしてきましたが、javaオブジェクトはどこから来たのでしょうか。言い換えると、どのオブジェクトのプロパティかという問題です。実は、JavaPackageオブジェクトjavaはWindowオブジェクトのプロパティなのです。これはクライアントサイドJavaScriptの「グローバル」変数です。JavaScript式は何らかのウィンドウ文脈で評価されるので、単にjavaと記述するだけで、必要なJavaPackageオブジェクトを参照できます。
このほかにもグローバルなJavaPackageオブジェクトがあります。例えば、sun JavaPackageオブジェクトはSun Microsystems社が提供するJavaパッケージを参照します。このパッケージは先頭にsunという接頭辞が付きます。同様にnetscape JavaPackageオブジェクトは、Netscape Communications社が提供するJavaパッケージを参照します。なおPackagesプロパティはjavasun、 netscapeなどのJavaPackageオブジェクトを保持します。したがって、Packages.java は単にjavaと記述したのと同じです。何を参照しているのかをより明示的にしたい場合や自分のローカル変数にjavaがある場合は、Packages.javaという表記を使います。
for/inループを使ってJavaPackage内のパッケージ名やクラス名を調べることはできません。したがって、これらの名前は事前に知っておく必要があります。Javaのマニュアルを見るか、Javaのクラス階層を自分で調べるしかありません。
Javaのパッケージやクラス、オブジェクトについては「20章」を参照してください。

関連項目

javaJavaArrayJavaClassJavaObjectnetscapePackagessun、20章



JSObject Javaクラス ・・・ JavaScriptオブジェクトに相当するJavaのクラス

対応バージョン

Navigator 3(netscape.javascriptパッケージ中のクラス)

コーディング形式

public final class netscape.javascript.JSObject extends Object

メソッド

call()
JavaScriptオブジェクトのメソッドを呼び出します。
eval()
JavaScriptオブジェクトの文脈で文字列中のJavaScriptコードを評価します。
getMember()
JavaScriptオブジェクトのプロパティの値を獲得します。
getSlot()
JavaScriptオブジェクトの配列要素の値を獲得します。
getWindow()
WebブラウザのJavaScriptのWindowオブジェクトに相当する「ルート」のJSObject を獲得します。
removeMember()
JavaScriptオブジェクトのプロパティを削除します。
setMember()
JavaScriptオブジェクトのプロパティの値を設定します。
setSlot()
JavaScriptオブジェクトの配列要素の値を設定します。
toString()
JavaScriptオブジェクトのtoString()メソッドを呼び出してその結果を返します。

解説

JSObjectはJavaScriptオブジェクトではなくJavaクラスなので、JavaScriptプログラムで直接使用することはできません。JSObjectはJavaアプレットが使うものです。例えば、JavaScriptプロパティや配列要素の読み書き、JavaScriptメソッドの呼び出し、JavaScriptコードの評価や実行などで、JavaアプレットからJavaScriptへアクセスするためのものです。JSObjectはJavaクラスのことなので、当然これを使用するにはJavaプログラミングの知識が必要になります。
JavaアプレットがJSObjectクラスを使用するには、その前にアプレットを実行するWebブラウザウィンドウに相当するJSObjectインスタンスを獲得しなければなりません。JSObjectクラスにはコンストラクタメソッドがありません。そこで、staticメソッドgetWindow()を呼び出して、このアプレットに相当するjava.applet.Appletインスタンスをそのメソッドに渡します。こうすると、このstaticメソッドから「ルート」の JSObjectインスタンスが返されます。そのほかに必要なJSObject があれば、getMember() メソッドやgetSlot()メソッドを使って獲得します。
なお、JavaアプレットがJSObjectクラスを使用するには、<APPLET>タグにMAYSCRIPT属性が設定されていなければなりません。この属性が設定されていないと、JavaはJavaScriptを操作できません。さらに、以下に示すように、クラスをインポートする必要もあります。

import netscape.javascript.JSObject;

JSObjectを使用するアプレットをコンパイルするには、コンパイラにクラスの場所を知らせなければなりません。使用するコンパイラによって異なりますが、通常は環境変数CLASSPATHで設定します。JSObjectクラスのクラスファイルは、NavigatorがインストールされているところにあるJARファイル(例えば、java40.jar、java_30)にあります。
JSObjectクラスの詳細については「20章」を参照してください。

関連項目

20章



JSObject.call()メソッド ・・・ JavaScriptオブジェクトのメソッドを呼び出す

対応バージョン

Navigator 3(netscape.javascriptに含まれる)

コーディング形式

public Object call(String methodName, Object args[])

引数

methodName
呼び出すJavaScriptメソッドの名前。
args[]
メソッドに引数として渡すJavaオブジェクトの配列。

リターン値

JavaScriptメソッドのリターン値に相当するJavaオブジェクト。

解説

JavaのJSObjectクラスのcall()メソッドは、JSObjectに相当するJavaScriptオブジェクトのメソッドを呼び出します。引数はJavaオブジェクトの配列としてこのメソッドに渡されます。JavaScriptメソッドのリターン値はJavaオブジェクトとして返されます。JavaオブジェクトからJavaScript値へメソッドの引数を変換する方法や、JavaScript値からJavaオブジェクトへメソッドのリターン値を変換する方法については、「20章」を参照してください。



JSObject.eval()メソッド ・・・ JavaScriptコードの文字列の評価

対応バージョン

Navigator 3(netscape.javascriptに含まれる)

コーディング形式

public Object eval(String s)

引数

s	JavaScript文の文字列。複数の文はセミコロンで区切ります。

リターン値

文字列sを評価した最後の式のJavaScript値をJavaオブジェクトに変換したもの。

解説

JSObjectクラスのeval()メソッドは、Stringオブジェクトsに含まれているJavaScriptコードを、JSObjectで指定されたJavaScriptオブジェクトの文脈で評価します。JSObjectクラスのeval()メソッドの振る舞いは、JavaScriptのグローバル関数eval()と同じです。
引数には複数のJavaScript文をセミコロンで区切って指定できます。これらの文の実行順は記述順と同じです。eval()メソッドのリターン値は、文字列sで評価する最後の文または式の値です。



JSObject.getMember()メソッド ・・・ JavaScriptオブジェクトのプロパティの読み出し

対応バージョン

Navigator 3(netscape.javascriptに含まれる)

コーディング形式

public Object getMember(String name)

引数

name	読み出すプロパティの名前。

リターン値

指定されたJSObjectのプロパティの値を保持するJava Object。

解説

JavaのJSObjectクラスのgetMember()メソッドは、JavaScriptオブジェクトのプロパティの値を読み出してJavaへ返します。リターン値は、ほかのJSObjectオブジェクト、Doubleオブジェクト、Booleanオブジェクト、Stringオブジェクトの可能性がありますが、一般的なObjectとして返されるので、必要に応じて型変換(キャスト)しなければなりません。



JSObject.getSlot()メソッド ・・・ JavaScriptオブジェクトの配列要素の読み出し

対応バージョン

Navigator 3(netscape.javascriptに含まれる)

コーディング形式

public Object getSlot(int index)

引数

index	読み出す配列要素のインデックス。

リターン値

JavaScriptオブジェクトの中で指定されたindexが示す配列要素の値。

解説

JavaのJSObjectクラスのgetSlot()メソッドはJavaScriptオブジェクトのindex配列要素の値を読み出してJavaへ返します。リターン値は、ほかのJSObjectオブジェクト、Doubleオブジェクト、Booleanオブジェクト、Stringオブジェクトの可能性がありますが、一般的なObjectとして返されるので、必要に応じて型変換(キャスト)しなければなりません。



JSObject.getWindow()メソッド ・・・ ブラウザウィンドウのJSObjectを返す

対応バージョン

Navigator 3(netscape.javascriptパッケージに含まれる)

コーディング形式

public static JSObject getWindow(java.applet.Applet applet);

引数

appletWebブラウザウィンドウで実行されるAppletオブジェクト。返されるJSObjectは、このウィンドウに相当します。

リターン値

JavaScriptのWindowオブジェクトに相当するJSObject。このWindowオブジェクトは、指定されたappletを保持するWebブラウザウィンドウに対応します。

解説

getWindow()メソッドは、Javaアプレットが最初に呼び出すJSObjectメソッドです。JSObjectにはコンストラクタがないので、ほかのJSObjectを獲得するには、最初にこのメソッドを使って「ルート」JSObjectを獲得するしか方法がありません。



JSObject.removeMember()メソッド ・・・ JavaScriptオブジェクトのプロパティを削除する

対応バージョン

Navigator 3(netscape.javascriptパッケージに含まれる)

コーディング形式

public void removeMember(String name)

引数

name	JSObjectから削除するプロパティの名前。

解説

JavaのJSObjectクラスのremoveMember()メソッドは、JSObjectが示すJavaScriptオブジェクトから指定されたプロパティを削除します。



JSObject.setMember()メソッド ・・・ JavaScriptオブジェクトのプロパティを設定する

対応バージョン

Navigator 3(netscape.javascriptパッケージに含まれる)

コーディング形式

public void setMember(String name, Object value)

引数

name	JSObjectに設定するプロパティの名前。
value	指定されたプロパティに設定する値。

解説

JavaのJSObjectクラスのsetMember()メソッドは、Javaから指定されたJavaScriptオブジェクトのプロパティに値を設定します。任意のJavaObjectを値として指定できます。このメソッドに基本型のJava値を渡すことはできません。JavaScript中では、指定されたvalueをJavaObjectオブジェクトとしてアクセスできます。



JSObject.setSlot()メソッド ・・・ JavaScriptオブジェクトの配列要素を設定する

対応バージョン

Navigator 3(netscape.javascriptパッケージに含まれる)

コーディング形式

public void setSlot(int index, Object value)

引数

index	JSObjectに設定する配列要素の名前。
value	指定された配列要素に設定する値。

解説

JavaのJSObjectクラスのsetSlot()メソッドは、Javaから指定されたJavaScriptオブジェクトの配列要素に値を設定します。任意のJava Objectをvalueとして指定できます。このメソッドに基本型のJava値は渡せません。JavaScriptは、指定されたvalueをJavaObjectオブジェクトとしてアクセスできます。



JSObject.toString()メソッド ・・・ JavaScriptオブジェクトの文字列値を返す

対応バージョン

Navigator 3(netscape.javascriptパッケージに含まれる)

コーディング形式

public String toString()

リターン値

指定されたJavaのJSObjectに相当するJavaScriptオブジェクトのtoString()メソッドを呼び出した結果の文字列。

解説

JavaのJSObjectクラスのtoString()メソッドは、JSObjectに相当するJavaScriptオブジェクトのtoString()メソッドを呼び出し、そのメソッドの結果を返します。



トップページに戻る