アプレットのJavascriptメソッドへのアクセス方法
「JSObject」オブジェクトはアプレットがJavascriptメソッドにアクセスするために使用しています。
JSObject win = JSObject.getWindow(this);
win.call("callHello", new String[]{"mkyong"});
チュートリアル
このチュートリアルでは、アプレットの “JSObject”を使用してJavascript関数を実行します。
1. JSObjectライブラリを見つける
”
netscape.javascript.JSObject
“は、デフォルトではクラスパスにありません。JREのlibフォルダ内にあります。たとえば、次のようになります。
C:\Program Files\Java\jdk1.6.0__13\jre\lib\plugin.jar
“plugin.jar”は必要なもので、取得してプロジェクトのクラスパスに組み込みます。
2.アプレットを作成する
アプレットを作成し、JSObjectを使用してJavascript関数を呼び出し、String変数 “mkyong”を渡します。
package com.mkyong.applet;
import java.applet.Applet;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import netscape.javascript.JSObject;
public class JavaToJavaScript extends Applet implements ActionListener{
Button button;
private static final String EXECUTE = "EXECUTE";
public void init(){
setLayout(new FlowLayout());
button = new Button();
button.addActionListener(this);
button.setActionCommand(EXECUTE);
button.setLabel("Execute Javascript");
add(button);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals(EXECUTE)){
JSObject win = JSObject.getWindow(this);
win.call("callHello", new String[]{"mkyong"});
}
}
}
3. HTML – MAYSCRIPTを有効にする
セキュリティ上の問題があるため、JSObjectはデフォルトでは有効になっていません。アプレットタグ内に「
MAYSCRIPT
」を含めて有効にする必要があります。
function callHello(name)
{
alert("hello " + name);
}
Testing
Applet acess Javascript method
4.出力
アプレットのボタンをクリックすると、JSObjectを使用してJavascript関数
callHello()
を呼び出し、文字列パラメータ “mkyong”を渡します。

P.S
Javascriptアクセスアプレットの方法
の記事をお読みください。
リファレンス
リンク://タグ/アプレット/[アプレット]リンク://タグ/javascript/[javascript]