アプレットに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。
に関する記事をお読みください_