http://www.chinabs.net/java/default.asp?infoid=58
这里有个例子 是javascript和applet的通信 你改改应该就可以实现你的设想!

解决方案 »

  1.   

    javascript与Applet通信我看过了,这里只能由javascript调用Applet的方法,而Applet没有主动性啊。
      

  2.   

    applet和javascript是可以相互通信的
      

  3.   

    (1)在调用javascipt函数的时候,要加这行:JSObject.getWindow (this).eval ("javascript:... ") ; (2)要将JSObject引用进来:import netscape.javascript.JSObject ; (3)定义applet的时候要加“MAYSCRIPT”标记<APPLET codeBase="./" code=tmin_JS width=80 height=25 MAYSCRIPT>
      

  4.   

    使用netscape.javascript.JSObject类。JSObject类提供了一个 eval()方法取得以字符形式保存的JavaScript代码。因为IE4.0中带有netscape.javascript.*包,所以能够直接在IE中使用netscape.javascript.JSObject类来从Applet中调用JavaScript。下面我给出了一个调用JavaScript的Applet小程序,能够在Netscape3.0 /4.0和IE4.0下运行。代码1:
    import java.awt.*;
    import java.applet.*;
    import java.net.*;public final class JScript extends Applet {
    Button button;public void init() {
    button = new Button("欢迎您使用本程序,它只是一个小程序用来验证从Java中调用JavaScript!");add(button);
    }public boolean action(Event event, Object arg) {if(event.target == button) {
    URL url;
    Class jsObjectClass;// 为了简化程序,我们将不对浏览器进行检查,
    // 直接使用 JSObject 类
    try {
    jsObjectClass = Class.forName("netscape.javascript.JSObject");
    } catch(ClassNotFoundException e) {
    jsObjectClass = null;
    }if(jsObjectClass != null) {
    netscape.javascript.JSObject window;window = netscape.javascript.JSObject.getWindow(this);
    window = (netscape.javascript.JSObject)window.getMember("top");
    window.eval("test();");
    } else {
    try {
    url = new URL("javascript:top.test();");
    getAppletContext().showDocument(url);
    } catch(MalformedURLException e) {
    button.setLabel("不支持JavaScript调用!");
    }
    }
    }
    return true;
    }
    }
    这样没问题了吧!!!
      

  5.   

    将Applet中的属性或方法设为public
    在javascript中就可以直接访问了。example:class MyApplet extends Applet {    public int i;
        
        public int getI() {
            return i;
        }
        ......}<script language="JavaScript">
        function accessApplet() {
            document.form[0].textField[0].value = document.myApplet.i;
            document.form[0].textField[0].value = document.myApplet.getI();
        }
    </script><body>
    <applet name="myApplet" code="MyApplet.class">
    </applet>
    </body>
    </body>
      

  6.   

    applet访问javascript要用到JSObject对象example:JSObject win;
    JSObject doc;
    JSObject form;
    JSObject textField ;
    win = JSObject.getWindow(this);//执行JavaScript中的方法
    win.eval("functionNameInJavascript()");
      

  7.   

    谢谢 热心的 xmvigour(微电--有狼的气质 没狼的勇气 真郁闷)过会试试你的方法,这里还会有几个问题:
    netscape.javascript.JSObject类在哪能找到?
    客户浏览器在IE5.0以上版本。
    Applet中用SWING组件,安装插件显示Applet。
      

  8.   

    也感谢 qljsd(我本善良) 
    不过你把意思弄反了,我问题的本意是在Applet中主动调动JavaScript的方法,生成网页内容。你还有其他的源码吗?
    [email protected] 或者直接帖在这个帖子里。
      

  9.   

    有了,真不好意思,居然还不知道JAVA里有一个netscape包!