APPLET与页面交互问题,只要是指导性意见就给分。 http://www.chinabs.net/java/default.asp?infoid=58这里有个例子 是javascript和applet的通信 你改改应该就可以实现你的设想! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 javascript与Applet通信我看过了,这里只能由javascript调用Applet的方法,而Applet没有主动性啊。 applet和javascript是可以相互通信的 (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> 使用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;}}这样没问题了吧!!! 将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> applet访问javascript要用到JSObject对象example:JSObject win;JSObject doc;JSObject form;JSObject textField ;win = JSObject.getWindow(this);//执行JavaScript中的方法win.eval("functionNameInJavascript()"); 谢谢 热心的 xmvigour(微电--有狼的气质 没狼的勇气 真郁闷)过会试试你的方法,这里还会有几个问题:netscape.javascript.JSObject类在哪能找到?客户浏览器在IE5.0以上版本。Applet中用SWING组件,安装插件显示Applet。 也感谢 qljsd(我本善良) 不过你把意思弄反了,我问题的本意是在Applet中主动调动JavaScript的方法,生成网页内容。你还有其他的源码吗?[email protected] 或者直接帖在这个帖子里。 有了,真不好意思,居然还不知道JAVA里有一个netscape包! 两台机器socket连接的条件 关于监听器的问题 在JAVA中怎样使用continue与break的? 对一串字符串进行进行替换,如何完成,请大家帮助 高分求解java考试面试题目,解决问题立即结贴 关于数据库配置 java编程 关于精确唤醒线程的问题之二 为什么这段代码不能实现线程同步? 就这么一小个程序也出这么多错,大侠帮我呀 我应该怎么刷新一个jpanel呢? 在下想申请做java小小版主,不知何等资历才够,各位可否随便聊聊
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;
}
}
这样没问题了吧!!!
在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>
JSObject doc;
JSObject form;
JSObject textField ;
win = JSObject.getWindow(this);//执行JavaScript中的方法
win.eval("functionNameInJavascript()");
netscape.javascript.JSObject类在哪能找到?
客户浏览器在IE5.0以上版本。
Applet中用SWING组件,安装插件显示Applet。
不过你把意思弄反了,我问题的本意是在Applet中主动调动JavaScript的方法,生成网页内容。你还有其他的源码吗?
[email protected] 或者直接帖在这个帖子里。