アプレットにJavascriptメソッドにアクセスする方法
「JSObject」オブジェクトは、アプレットがJavascriptメソッドにアクセスするために使用しています。
JSObject win = JSObject.getWindow(this);
win.call("callHello", new String[]{"example"});
チュートリアル
このチュートリアルでは、アプレットの「JSObject」を使用して、Javascript関数を実行します。
1. JSObjectライブラリを見つける
「netscape.javascript.JSObject」はデフォルトではクラスパスにありません。次のように、JRElibフォルダー内にあります。
C:\Program Files\Java\jdk1.6.0_13\jre\lib\plugin.jar
「plugin.jar」は必要なものであり、取得してプロジェクトのクラスパスに含めます。
2. アプレットを作成する
アプレットを作成し、JSObjectを使用してJavascript関数を呼び出し、String変数「example」を渡します。
package com.example.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[]{"example"});
}
}
}
3. HTMLを作成-MAYSCRIPT対応
セキュリティ上の懸念から、JSObjectはデフォルトで有効になっていません。有効にするには、アプレットタグ内に「MAYSCRIPT」を含める必要があります。
function callHello(name)
{
alert("hello " + name);
}
Testing
Applet acess Javascript method
4. 出力
アプレットのボタンがクリックされると、JSObjectを使用してJavascript関数callHello()が呼び出され、文字列パラメータ「example」が渡されます。

_
P.Show to Javascript access Applet method。
に関する記事をお読みください_