アプレットのJavascriptメソッドへのアクセス方法

アプレットに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」が渡されます。

applet-access-javascript

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